算法题刷题笔记

在线题库

牛客华为机试题库【题号 HJ开头】(重点看)
牛客在线编程算法篇【题号NC开头】
剑指offer【题号 JZ开头】
力扣
重点刷牛客网华为机试题库,时间充裕可以辅助刷力扣和剑指offer


专题总结

Java 语言学正则表达式
Java 进制转换算法
Java 数学常用方法
Java 业务原子级常用方法

Java 字符常用方法

Java8 Stream 流常用方法

Java 字符串,数组,集合之间相互转换
Java 数组,List,Map排序
Java 数组常用方法

递归算法专题
位运算专题
二叉树二叉堆专题

算法优化 遍历不回头的场景
数组指针遍历 学习总结
数组双指针遍历场景

DFS & BFS 学习总结
DFS 学习笔记

字符串操作

[简单] HJ2 计算某字符出现次数
[简单] HJ10.字符个数统计
[简单] *HJ23.删除字符串中出现次数最少的字符
[入门] HJ9 提取不重复的整数
[真题] 字符串加密

[简单] HJ11 数字颠倒
[简单] HJ12 字符串反转
[简单] HJ13 句子逆序
[真题] 按单词下标区间翻转文章内容

[简单] HJ1 字符串最后一个单词的长度
[入门] HJ46 截取字符串
[真题] 字符串分割
[简单] HJ4 字符串分隔
[真题] 求字符串中所有整数的最小和

[中等] HJ17.坐标移动
【算法题】键键盘的输出
【算法题】考勤信息
[中等] HJ20.密码验证合格程序
[中等] NC100 字符串转换成整数

子串&子序列

[简单] leetcode392 判断字符串 s 是否为 t 的子序列 s = “abc”, t = “ahbgdc” → true
[真题] 连续字母长度
[真题] 非严格递增连续数字序列

[中等] HJ65 查找两个字符串a,b中的最长公共子串
[中等] NC149字符串匹配KMP算法 需要理解

[中等] NC17.最长回文子串
[较难] NC28.最小覆盖子串

混淆名词区分
严格递增子序列:1 2 3
非严格递增子序列:1 2 2 3
连续递增子序列: 1 3 5 7 9 → 1 3 5 7
数字连续递增子序列:1 2 3 4 5 2 3 → 1 2 3 4 5
递增子序列:1 3 6 2 7 → 1 3 6 7

[简单] *leetcode674. 无序整数数组,最长连续递增序列 [1,3,5,4,7]→[1,3,5]
无序整数数组,最长连续严格递增序列的长度(leetcode 674) [1,3,5,4,7]→[1,3,5]→3
[中等] leetcode128 无序整数数组,最长数字连续递增序列的长度 [100,4,200,1,3,2]→[1, 2, 3, 4]→4
[中等] leetcode1839 所有元音按顺序排布的最长子字符串

[中等] leetcode491 无序整数数组,找出所有 非严格递增 子序列 [4,6,7,7]→[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]] (严格递增仅>和>=的区别)[4,6,7,7]→[[4,6],[4,6,7],[4,7],[6,7]]
[中等] leetcode300 无序整数数组,找出严格递增最长子序列的长度 [10,9,2,5,3,7,101,18]→[2,3,7,101]→4(非严格递增仅>和>=的区别)

数组

[真题] 乱序整数序列两数之和绝对值最小
[真题] 整数对最小和
[真题] 检查是否存在满足条件的数字组合
[中等] HJ41.称砝码

[真题] 数组拼接

查找排序

[较难?] HJ3.明明的随机数
[入门] HJ101.输入整型数组和排序标识
[较难?] *HJ68.成绩排序
[入门] HJ58 输入n个整数,输出其中最小的k个

[简单] HJ8.合并表记录
[简单] *HJ14.字符串排序
[真题] 统计射击比赛成绩

[中等] HJ27.查找兄弟单词
[中等] *NC37.合并区间

[中等] JZ4 二维数组中的查找

[简单] *leetcode 1614.括号的最大嵌套深度
[简单] NC52.括号序列
[中等] NC175合法的括号字符串
[中等] HJ70 矩阵乘法计算量估算
【算法题】仿LISP运算

队列

【算法题】贪吃蛇

TopK问题

[困难] 239. 滑动窗口最大值

DFS

排列组合

[中等] leetcode 面试题 08.07. 无重复字符串的排列组合
[中等] * leetcode 面试题08.08.有重复字符串的排列组合
[中等] leetcode 77.组合
[中等] leetcode491 整数数组,找不同的递增子序列
[中等] 整数数组,找不同的严格递增子序列 (leetcode491一样实现仅>和>=的区别)

(9) 岛屿问题(技术面试高频考点)

[中等] leetcode200. 岛屿数量
[简单] leetcode463. 岛屿的周长
[中等] leetcode695. 岛屿的最大面积
[困难] leetcode827. 最大人工岛

BFS

[中等] *leetcode 994.腐烂的橘子
[中等] HJ43 迷宫问题
【算法题】走迷宫、求最少步数

[中等] leetcode 剑指 Offer 32 - I. 从上到下打印二叉树
[简单] *leetcode 剑指offer 32 — II.从上到下打印二叉树 II
[中等] leetcode 102. 二叉树的层序遍历
[中等] leetcode 剑指offer 32 — III.从上到下打印二叉树 III
从上到下打印二叉树 I、II、III

双指针

[简单] NC61.两数之和

二叉树

[中等] leetcode 剑指 Offer 32 - I. 从上到下打印二叉树
[简单] *leetcode 剑指offer 32 — II.从上到下打印二叉树 II
[中等] leetcode 102. 二叉树的层序遍历
[中等] leetcode 剑指offer 32 — III.从上到下打印二叉树 III
从上到下打印二叉树 I、II、III

[简单] leetcode 144. 二叉树的前序遍历
[简单] leetcode 194. 二叉树的中序遍历
[简单] leetcode 145. 二叉树的后序遍历
二叉树前中后序遍历

动态规划

【算法题】机器人走迷宫
【算法题】高效的任务规划
[中等] leetcode 300. 整数数组的最长严格递增子序列的长度
【算法题】书籍叠放

链表

[中等] HJ48从单向链表中删除指定值的节点
leetcode160 相交链表
剑指 Offer JZ25合并两个排序的链表

二进制

[简单] HJ5.进制转换
【算法题】分苹果
[简单] HJ15 求int型正整数在内存中存储时1的个数
[中等] *HJ33.整数与IP地址间的转换

数学

[简单] HJ6 质数因子
【算法题】素数之积
[中等] leetcode 204.计数质数
[入门] HJ7 取近似值

递归

[简单] NC68.跳台阶

其他

HJ25. 数据分类处理
HJ29 字符串加解密
剑指 Offer JZ61. 扑克牌中的顺子(类比 德州扑克问题)

leetcode 322. 零钱兑换 ,也可搜索 动态规划相关题型 (技术面试高频考点)
火锅问题 csdn搜索

lt (less than) 小于(<)
le (less than or equal to) 小于等于(<=)
gt (greater than) 大于(>)
ge (greater than or equal to)大于等于(>=)
eq (equal to) 等于(=)
ne (not equal to) 不等于(!=)

你可能感兴趣的:(算法题,算法,华为)