面试150(非HOT100重叠部分)P1

Part1:字符串/数组(注重StringBuilder的使用):
    1.合并两个数组:倒序插入排序
    2.删除有序数组重复项 I / II : 指针计数
    3.股票利润II : 局部贪心累加所有上升坡段
    4.H指数:计数排序(桶排序),倒着遍历
    5.O(1) 时间插入、删除和获取随机元素:HashMap + ArrayList,删除就用尾节点与被删节点交换再删尾节点
    6.加油站:贪心 总油量不能亏损 找局部亏损最低点
    7.分糖果:两次贪心  进阶:常数空间解法:上升段 平坡 下降段
    8.罗马数字转整数:比较相邻两罗马数字,左 > 右 +当前罗马数字数值 否则 减 当前罗马数字数值
    9.整数转罗马数字:排列所有可能罗马数字从大到小,遍历数值,减去罗马数字数值去拼接
    10.最长公共前缀:以第一个字符为基准,去纵向扫描其他字符串的列开始比较
    11.反转字符串的单词:去除字符串首位和单词间多余空格(仅保留一个)-> 反转字符串 -> 反转每个单词
    12.Z字型变换:用StringBuilder对象作为桶来存储该存储的字符,用一个标志变量flag判断向下/向上走(第一行/最后一行)
    13.找出字符串中第一个匹配项的下标(haystack, needle):needle 是一个固定长度的窗口,在 haystack 上从左向右滑动,设 haystack 长度为 n,needle 长度为 m。我们只需要在 haystack 中遍历到索引 n - m,去匹配。    进阶:KMP算法(next数组)
    14.文本左右对齐!!!(难度巅峰):核心是空格的分配:
                                    情况 1:当前行只有一个单词-单词左对齐,末尾补齐空格
                                    情况 2:当前行是最后一行-所有单词左对齐,单词间只留 1 个空格,行末补齐空格
                                    情况 3:普通行-计算总空格数:maxWidth - 当前行单词总字符数。
                                                                                均匀分配:空格数 / (单词数 - 1) 是基础空格数。
                                                                                左侧多分配:空格数 % (单词数 - 1) 是需要额外多加 1 个空格的间隔数。
#算法题##手撕代码##力扣刷题#
全部评论

相关推荐

作为一个纯运营,身边却一堆程序员朋友,秋招+春招看下来,真的被刷题量惊到,但也看清了一件事:刷题不是越多越好,是够不够用。讲两个身边真实例子,都是普通本科、非科班/半科班,没有大厂光环,纯靠刷题上岸。朋友A,想进中小厂做开发。最开始连力扣都不会用,心气很高,觉得随便刷刷就行。结果投简历全是石沉大海,面试一碰到算法题就卡壳,心态直接崩。后来沉下心,每天2–3题,坚持3个月,刷了大概200多道,以简单、中等为主,高频题反复做,模板背熟。最后拿到两家中小型公司offer,他说:够找工作,但不够卷大厂。朋友B,目标明确冲互联网中厂。从大三下开始系统性刷,主攻力扣Hot100、剑指Offer,前后刷了近400题,不只做出来,还会复盘时间复杂度、最优解、多种写法。面试时算法题基本都能秒写,逻辑清晰,面试官明显很吃这一套,顺利上岸。他跟我说过一句很真实的:“不是刷够500题才能找工作,但想稳一点、选择多一点,300题左右是个比较安全的线。”也见过刷了100题就上岸的(运气+岗位偏业务,不重算法),也见过刷了500题还在面的(眼高手低、不复盘、只会背不会写)。所以真的不是数字游戏:- 想随便找一份开发工作:150–200题,扎实复盘,够用- 想稳一点、面中厂不慌:250–350题,高频+模板+错题反复啃- 想冲大厂、卷算法:400题往上,还要看项目、基础、面试表达作为运营看完最大感受:不管什么岗位,所谓“上岸”,本质都是足够的量变撑住那一次面试。不是你比别人聪明,而是你比别人更早、更稳、更不侥幸地,把该做的事做完了。
程序员找工作至少要刷多少...
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务