Skip to content

剑指Offer算法面试题目总结(C、C++实现)

Notifications You must be signed in to change notification settings

ZYZMZM/Coding-Interviews

Repository files navigation

《剑指offer》

说明

剑指中有关于数据结构的题目,如链表、栈和队列等。我们实现的这些数据结构:包括顺序栈带头节点的单链表不带头节点的单链表不带头结点的单向循环链表循环队列双端队列等,我们将其放在本项目单独的文件夹Data Struct中,当然也有单独的项目专门用来存储这些数据结构。

题目分类

题目按照题型整理分类如下:

数组(Array)

ID Title
3-1 数组中重复的数字 C C++
3-2 不修改数组找出重复的数字 C C++
4 二维数组中的查找 C C++
10 斐波那契数列 C C++
11 旋转数组的最小数字 C C++
21 调整数组顺序使奇数位于偶数前面 C C++
29 顺时针打印矩阵 C C++
39 数组中出现次数超过一半的数字 C C++
40 最小的k个数 C C++
42 连续子数组的最大和 C C++
45 把数组排成最小的数 C C++
51 数组中的逆序对 C C++
53-1 在排序数组中查找数字 C C++
53-2 0到n-1中缺失的数字 C C++
53-3 数组中数值和下标相等的元素 C C++
56-1 数组中只出现一次的两个数字 C C++
56-2 数组中唯一只出现一次的数字 C C++
57-1 和为s的两个数字 C C++
57-2 和为s的连续正数序列 C C++
66 构建乘积数组 C C++

字符串(String)

ID Title
5 替换空格 C C++
19 正则表达式匹配 C C++
20 表示数值的字符串 C C++
38-1 字符串的排列 C C++
38-2 字符串的组合 C C++
48 最长不含重复字符的子字符串 C C++
50-1 第一个只出现一次的字符 C C++
50-2 删除第二个字符串的所有字符 C C++
50-3 删除字符串中所有重复的字符 C C++
50-4 判断变位词 C C++
58-1 翻转单词顺序 C C++
58-2 左旋转字符串 C C++
67 把字符串转换成整数 C C++

链表(LinkList)

ID Title
6 从尾到头打印链表 C C++
18-1 删除链表的节点 C C++
18-2 删除链表中的重复节点 C C++
22 链表中倒数第k个节点 C C++
23 链表中环的入口节点 C C++
24 反转链表 C C++
25 合并两个排序的链表 C C++
35 复杂链表的复制 C C++
52 两个链表的第一个公共节点 C C++
62 圆圈中最后剩下的数字 C C++

栈和队列(Stack & Queue)

ID Title
9-1 用两个栈实现队列 C C++
9-2 用两个队列实现栈 C C++
30 包含min函数的栈 C C++
31 栈的压入、弹出序列 C C++
59-1 滑动窗口的最大值 C C++
59-2 队列的最大值 C C++

数学(Math)

ID Title
15 二进制中1的个数 C C++
16 数值的整数次方 C C++
17 打印从1到最大的n位数 C C++
43 1~n整数中1出现的次数 C C++
44 数字序列中某一位的数字 C C++
46 把数字翻译成字符串 C C++
49 丑数 C C++
61 扑克牌中的顺子 C C++
63 股票的最大利润 C C++
64 求1+2+…+n C C++
65 不用加减乘除做加法 C C++

回溯法(Backtracking)

ID Title
12 矩阵中的路径 C C++
13 机器人的运动范围 C C++

动态规划(Dynamic Programming)

ID Title
14 剪绳子 C C++
47 礼物的最大价值 C C++
60 n个骰子的点数 C C++

About

剑指Offer算法面试题目总结(C、C++实现)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published