算法题:
- 1、两个String格式的非负整数相乘,不能使用BigInteger
- 2、链表去重
- 3、实现一个push,pop,getMax函数都是o1复杂度的栈
- 4、链表中心结点向外打印
- 5、实现一个LRU算法的get,set方法,要求o(1)复杂度
- 6、输入正整数n,n<9,输出1到n的全排列。例如输入3,输出[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]
- 7、n块钱,用面值为1 2 5 10的硬币 有几种组合方式(二面
- 8、实现一个栈,pop 和push getMax O1复杂度 —— 单调递减栈
- 9、快排
- 10、三数之和
- 11、打印一个字符串所有字母所有可能的排列组合,比如输入abc,打印abc acb bac bca cab cba六行
- 12、不同路径
- 13、给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。
岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。
此外,你可以假设该网格的四条边均被水包围。(一面)
示例 1:
输入:grid = [
[“1”,”1”,”1”,”1”,”0”],
[“1”,”1”,”0”,”1”,”0”],
[“1”,”1”,”0”,”0”,”0”],
[“0”,”0”,”0”,”0”,”0”]
]
输出:1
示例 2:
输入:grid = [
[“1”,”1”,”0”,”0”,”0”],
[“1”,”1”,”0”,”0”,”0”],
[“0”,”0”,”1”,”0”,”0”],
[“0”,”0”,”0”,”1”,”1”]
]
输出:3
- 14、给定两个整数数组,preorder 和 postorder ,其中 preorder 是一个具有 无重复 值的二叉树的前序遍历,postorder 是同一棵树的后序遍历,重构并返回二叉树。
如果存在多个答案,您可以返回其中 任何 一个。(二面)
输入:preorder = [1,2,4,5,3,6,7], postorder = [4,5,2,6,7,3,1]
输出:[1,2,3,4,5,6,7]
示例 2:
输入: preorder = [1], postorder = [1]
输出: [1]
- 15、给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。
请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。(三面)
- 16、leetCode 739
- daily temperature 单调栈
- 17、一个人一年365 天都可以去旅行有三种规格的门票对应三个价格1元的可以用1天,5元的可以连续用7天,15元连续用30天。给定一个时间数组,求这个数组的这些时间如何买票最便宜
- 18、找指定数组的最大重复数(8 一面)
场景设计:累计客户的消费金额,达1000,2000,3000送不同礼物。用户体量千万级,怎么设计
- 19、滑动窗口最大值——单调队列
- 20、链表两数相加
- 21、算法是反转链表
八股文:
1、oom异常是否导致进程死掉
2、tair的几种选型
3、opensearch select语句执行过程
4、opensearch使用过程的问题以及线上线下应用切换
5、mysql B+树 select语句索引树搜索过程(联合索引)select语句查询优化
6、数据库多机房容灾、主备机房切换、数据同步、全同步/半同步