C++ 算法笔试题(常见算法版)

C++ 算法笔试题(常见算法版)

通过Deepseek 获得题目并进行排版修改。

考试信息

  • 时间: 90分钟
  • 总分: 100分
  • 难度分布: 简单3题 + 中等2题 + 困难2题

一、简单题 (30分)

1.1 冒泡排序

题目 : 实现冒泡排序算法,对整型数组进行升序排序
要求:

  • 实现标准的冒泡排序算法
    示例:

    // 输入: arr = [64, 34, 25, 12, 22, 11, 90], n = 7
    //输出: arr = [11, 12, 22, 25, 34, 64, 90]
    void bubbleSort(int arr[], int n){

    }


1.2 线性查找

题目 : 实现线性查找算法,在数组中查找目标元素
要求:

  • 如果找到返回索引,否则返回-1
    示例:
cpp 复制代码
// 输入: arr = [10, 20, 30, 40, 50], n = 5, target = 30
// 输出: 2
// 输入: arr = [10, 20, 30, 40, 50], n = 5, target = 35
// 输出: -1
// 函数签名
int linearSearch(int arr[], int n, int target){















}

1.3 判断回文数

题目 : 判断一个整数是否是回文数
要求:

  • 不能将整数转换为字符串
cpp 复制代码
// 函数签名
bool isPalindromeNumber(int x){









}

示例 :

输入: 121 输出: true

输入: 10 输出: false


二、中等题 (40分)

2.1 快速排序

题目: 实现快速排序算法

cpp 复制代码
// 函数签名
void quickSort(int arr[], int low, int high){




}
int partition(int arr[], int low, int high){






}  // 辅助函数

示例:

复制代码
输入: arr = [10, 7, 8, 9, 1, 5], n = 6
输出: arr = [1, 5, 7, 8, 9, 10]

2.2 合并两个有序数组

题目 : 将两个已排序的数组合并为一个新的排序数组
要求:

  • 第一个数组有足够的空间容纳两个数组的所有元素
cpp 复制代码
// 函数签名
void mergeSortedArrays(int nums1[], int m, int nums2[], int n){











}

示例:

复制代码
输入: 
nums1 = [1, 2, 3, 0, 0, 0], m = 3
nums2 = [2, 5, 6], n = 3
输出: nums1 = [1, 2, 2, 3, 5, 6]

三、困难题 (40分)


3.1 寻找数组中的峰值元素

题目 : 给定一个整数数组 nums,找到峰值元素并返回其索引。峰值元素是指其值大于左右相邻值的元素。数组可能包含多个峰值,返回任何一个峰值所在位置即可。

cpp 复制代码
// 函数签名
int findPeakElement(vector<int>& nums){










}
**示例**
示例1:
输入: nums = [1,2,3,1]
输出: 2
解释: 3是峰值元素,其索引为2,因为它大于左右相邻值。
示例4:
输入: nums = [1,2]
输出: 1
解释: 2大于左边的1,右边没有元素视为-∞。

3.2 斐波那契数列优化

题目: 实现计算第n个斐波那契数的算法,并进行优化

要求:

cpp 复制代码
// 函数签名
long long fibonacciRecursive(int n){










}

示例:

复制代码
输入: n = 10输出: 55
输入: n = 50输出: 12586269025

相关推荐
无极低码35 分钟前
ecGlypher新手安装分步指南(标准化流程)
人工智能·算法·自然语言处理·大模型·rag
软件算法开发1 小时前
基于海象优化算法的LSTM网络模型(WOA-LSTM)的一维时间序列预测matlab仿真
算法·matlab·lstm·一维时间序列预测·woa-lstm·海象优化
Thera7771 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
superior tigre2 小时前
22 括号生成
算法·深度优先
君义_noip2 小时前
信息学奥赛一本通 1952:【10NOIP普及组】三国游戏 | 洛谷 P1199 [NOIP 2010 普及组] 三国游戏
c++·信息学奥赛·csp-s
努力也学不会java3 小时前
【缓存算法】一篇文章带你彻底搞懂面试高频题LRU/LFU
java·数据结构·人工智能·算法·缓存·面试
旖-旎3 小时前
二分查找(x的平方根)(4)
c++·算法·二分查找·力扣·双指针
ECT-OS-JiuHuaShan3 小时前
朱梁万有递归元定理,重构《易经》
算法·重构
顶点多余3 小时前
使用C/C++语言链接Mysql详解
数据库·c++·mysql
汉克老师4 小时前
GESP2026年3月认证C++四级( 第二部分判断题(1-10))
c++·指针·函数重载·文件操作·数组·gesp4级·gesp四级