经中遇到的题:
1、数组的逆序数
2、LRU //hashMap加双向链表,双向链表有头尾节点,
3、最长回文序列 leetocde 5
4、矩阵中的最长递增路径,可以上下左右一起都走; leetcode329
5、判断一个二叉树是另一个二叉树的子树
6、归并排序的时间复杂度 // NlongN
7、求给出01矩阵中的最大正方形面积(全为1) lc221
8、求二叉树中距离最远的节点 leetcode543
9、判断字符串是否为合法IPV4地址 lc468
10、数组值为1-n,各出现一次,先加入x(x也是1-n的范围),找出x
11、给定n,计算15n,不用+*/
12、给定字符数组chars,将其右移n位
13、100层楼,只有两个鸡蛋,找出鸡蛋会在哪一层楼被摔碎
14、reverse linked list in a group of k
15、如何空间O(0)实现两个数的互换
16、IP地址的Regex
17、the longest path in a binary tree lc124
18、the largest consecutive sum in an array
19、LeetCode 41 Find mis sing positive
20、给一个小于一亿的中文数字字符串,转化成数字格式
21、一个数组,把所有的0都移动到末尾,还要保持顺序不乱 维持临界点j,如果当前遍历不是0,就和j互换
22、罗马数字转整数 leetcode13
23、二叉树的序列化和反序列化
24、输入一个数组,输出数组中满足条件的数字,条件为:数组中当前元素的值大于等于它前面所有的元素,小于等于它后面所有的元素。
25、给出一个数字,对数字的两位进行交换,只能交换一次,输出可能结果中的最小数字
26、输入一个字符串,字符串中字符全部为数字,在字符串中插入 '.' 使得结果为合法的ip地址,输出全部可能的结果
27、基数排序
28、链表是否为回文结构。不能用栈
29、最大不重复子串
30、复杂链表复制
31、长度为n的数组,元素大小是0~n-1,判断数组元素是否有重复的
32、list1/list2交替打印元素
33、36进制加法
34、合并区间
35、快排
36、生产者-消费者 模型
37、排序一个字符串时间要求O(n)
38、给一个有重复数字的数组,求集合{(a,b,c) | a+b+c=0}
39、两个栈实现队列
40、二叉树转化为双端链表
41、手写线程池
42、之字形打印二叉树
43、给定一个数组,调整该数组,使其满足堆的性质
44、给定n个单词,如果单词组成一致但是元素顺序不一致,该对单词为同位词,例如:abc,bca为同位词.求所有同位词的集合输出
45、链表,两个链表的公共点
46、二叉树的后续遍历非递归形式
47、买卖股票的最佳时机,只能一次买入和一次卖出
48、可以进行多次交易的结果,求赚取的最大利润
49、(A,B)(A,C)(B,D)(D,A)判断是否有循环引用,提示用拓扑排序
50、数组找是否存在和为M的两个数
51、KMP
52、实现一个阻塞队列(生产者消费者模型)
53、找出10000个数据中第 k 大的数
54、输入一个字符串,包含数字、加减乘除和括号,输出结果,编程
55、给定一个数x,要求使用k个数字求和可以得到x,数字从1-9中选择,不能重复。
56、输入一个正整数 N,返回 N 个 '(' 和 N 个 ')' 的所有可能情况
57、76.minimum-window-substring、30.substring-with-concatenation-of-all-words、42.trapping-rain-water,
58、求树的最左下节点
59、无序数组中第k大的数(quick select)
60、求旋转数组找最小值(二分)
61、判断二叉树是否镜像(递归)
62、给定一个矩阵,从左上角开始只能往下或者右走,求到达右下角的最小权值路径
63、字符串转Int,如果越界就返回0
64、lc400
65、单向链表实现加法
66、打家劫舍
67、收到礼物最大值
68、五张牌,其中大小鬼为癞子,牌面为 0,判断这五张牌是否能组成顺子
69、给定一个字符串打印所有的子串,要求不重复
70、自然数1-n,排一块组成的字符串,求第k位是什么。
71.如果a[0]a[n-1],那么请找出任意一个点使得a[i-1]a[i+1] 要求logN
72、a[-1]和a[n+1]设为负无穷大,二分查找找到数组中的一个峰值。
73、如果有一组数字,按照“拿出第一个数在桌上并然后将下一个数放到队尾”一直操作直到数字全部放在桌子上,给你最后在桌子上的数字,请返回最开始数字的顺序。
74、有序数组找到第一个小于0的数和第一个大于0的数
75、合并两个排序数组并去重
76、两个排序数组找中位数
77、两个超大整数的字符串做减法运算。
78、1~10000中7出现的次数,如17算1个,77算2个。
79、给一个字符串数组,统计每一个字符串出现的次数,要求不能用set,map.时间复杂度O(n).
80、手撕最大堆,实现对应的push和pop操作
81、找出一个字符串中所有的回文子串
82、重复次数最多的最长连续子串(即找到重复次数最多的子串,若有多个,输出最长的)
83、长度为n的数组,有一个长度为k的滑动窗口,询问各个滑动窗口内的中位数。
84、区间最大最小值。两个长度为n的序列a,b,问有多少区间[l,r] 满足max(a[l,r]) 85、8皇后问题共有多少种解法 86、一个数字串删除指定个数的数字字符,剩下的组成一个最大的数 87、N个长度为K的有序链表合并,时间复杂度,空间复杂度 88、N个长度为K的有序数组合并,时间复杂度,空间复杂度 89、用一个栈去排序另一个栈 90、一个数组实现两个栈 91、一个n位数,现在可以删除其中任意k位,使得剩下的数最小 92、实现有符号大数链表加法,靠近头结点位置为高位 93、找出来数组中每个元素后边第一个比它大的值 94、完全二叉树的最大深度与节点个数 95、两个有序数组交集、并集 96、用二分法对一个数字开根号 97、一个无序有正有负数组,求乘积最大的三个数的乘积 98、实现链表,无序链表,对链表值奇偶分离并排序,空间复杂度O(1) 99、无序数组构建一棵二叉排序树 100、打印出根节点到叶子节点的最长路径 101、字符串形式自定义进制大数相加 102、LeetCode 1038 103、任意一个整型数组,判断是否可以将数组分为三个区间,每个区间中数值的和相同 104、二叉树逆时针打印最外层节点 105、无向图最短路径 106、输入一个矩阵,起始点和目标点,判断是否存在可达路径