算法刷题专栏介绍

Java华为机试历年题库,获取方式见

算法刷题前言

剑指offer刷题宝典

第1节

https://blog.csdn.net/weixin_41171614/article/details/136953473

刷题重点总结

1、Collection接口常用方法
2、list常用方法
3、数组排序
3、list转成数组
4、String类常用方法
5、StringBuffer、StringBuilder中的常用方法
6、Arrays工具类中常用的方法

一、链表

JZ23 链表中环的入口结点
JZ22 链表中倒数最后k个结点 【难!!!】
JZ35 复杂链表的复制 【难!!!】
JZ76 删除链表中重复的结点

二、树

JZ77 按之字形顺序打印二叉树
JZ26 树的子结构
JZ33 二叉搜索树的后序遍历序列
JZ34 二叉树中和为某一值的路径(二)
JZ8 二叉树的下一个结点 【记公式!!!】
JZ84 二叉树中和为某一值的路径(三)
剑指 Offer 36. 二叉搜索树与双向链表
剑指 Offer 54. 二叉搜索树的第k大节点

第2节

https://blog.csdn.net/weixin_41171614/article/details/136954353

三、队列 & 栈

JZ31 栈的压入、弹出序列
JZ59 滑动窗口的最大值 【难!!】
面试题59 - II. 队列的最大值

四、搜索算法

JZ53 数字在升序数组中出现的次数
JZ11 旋转数组的最小数字
JZ44 数字序列中某一位的数字 【× 难】
剑指 Offer 57. 和为s的两个数字
剑指 Offer 57 - II. 和为s的连续正数序列

第3节

https://blog.csdn.net/weixin_41171614/article/details/136970386

五、动态规划

JZ85 连续子数组的最大和(二) 【细节 ??】
JZ19 正则表达式匹配 【× 难!!!】
JZ71 跳台阶扩展问题
JZ70 矩形覆盖
JZ63 买卖股票的最好时机(一)
JZ47 礼物的最大价值
JZ48 最长不含重复字符的子字符串 【难!!!】
JZ46 把数字翻译成字符串
剑指 Offer 49. 丑数!!!
剑指 Offer 60. n个骰子的点数
JZ62 孩子们的游戏(圆圈中最后剩下的数)

六、回溯

JZ12 矩阵中的路径

DFS

JZ13 机器人的运动范围
剑指 Offer 38. 字符串的排列

第4节

https://blog.csdn.net/weixin_41171614/article/details/137029336

七、排序

剑指 Offer 03. 数组中重复的数字
剑指 Offer 40. 最小的k个数

八、位运算

剑指 Offer 16. 数值的整数次方
JZ65 不用加减乘除做加法
JZ15 二进制中1的个数
JZ56 数组中只出现一次的两个数字
剑指 Offer 56 - II. 数组中数字出现的次数 II
JZ64 求1+2+3+…+n

第5节

👉https://blog.csdn.net/weixin_41171614/article/details/137029548

九、模拟

剑指 Offer 29. 顺时针打印矩阵
JZ61 扑克牌顺子 【巧!!!】
JZ67 把字符串转换成整数(atoi)
JZ20 表示数值的字符串 【难!!!】

十、数组

JZ21 调整数组顺序使奇数位于偶数前面(一)
JZ81 调整数组顺序使奇数位于偶数前面(二)
JZ39 数组中出现次数超过一半的数字
JZ43 整数中1出现的次数
JZ45 把数组排成最小的数
JZ49 丑数
剑指 Offer 53 - II. 0~n-1中缺失的数字
JZ74 和为S的连续正数序列
JZ57 和为S的两个数字
JZ58左旋转字符串
JZ75 字符流中第一个不重复的字符
JZ14 剪绳子
JZ83 剪绳子(进阶版)

十一、字符串

剑指 Offer 58 - I. 翻转单词顺序


牛客Top100热题宝典

第1节

👉https://blog.csdn.net/weixin_41171614/article/details/137057226

算法学习方法

01 链表

BM1 反转链表
BM5 合并k个已排序的链表
BM6 判断链表中是否有环
BM8 链表中倒数最后k个结点
BM9 删除链表的倒数第n个节点
BM10 两个链表的第一个公共结点
BM11 链表相加(二)
BM12 单链表的排序
BM13 判断一个链表是否为回文结构
BM14 链表的奇偶重排
BM15 删除有序链表中重复的元素-I
BM16 删除有序链表中重复的元素-II
143. 重排链表

02 二分查找/排序

153.寻找旋转排序数组中的最小值
BM17 二分查找-I
BM18 二维数组中的查找
BM19 寻找峰值
BM20 数组中的逆序对 【难!!】
BM21 旋转数组的最小数字
BM22 比较版本号

第2节

👉https://blog.csdn.net/weixin_41171614/article/details/137057710

03 二叉树

BM23 二叉树的前序遍历
BM24 二叉树的中序遍历
BM25 二叉树的后序遍历
BM26 求二叉树的层序遍历
BM27 按之字形顺序打印二叉树
BM29 二叉树中和为某一值的路径(一)
BM30 二叉搜索树与双向链表 【难!!】
BM31 对称的二叉树 【难!!!】
BM32 合并二叉树 【难!!!】
BM33 二叉树的镜像
BM34 判断是不是二叉搜索树
BM35 判断是不是完全二叉树
BM36 判断是不是平衡二叉树 【难!】
BM37 二叉搜索树的最近公共祖先
BM38 在二叉树中找到两个节点的最近公共祖先
BM39 序列化二叉树 【难!!】
BM40 重建二叉树 【难!!】
BM41 输出二叉树的右视图

第3节

👉https://blog.csdn.net/weixin_41171614/article/details/137058538

04 堆/栈/队列

BM42 用两个栈实现队列
BM43 包含min函数的栈
BM45 滑动窗口的最大值 【刷一次!!】
BM46 最小的K个数
215. 数组中的第K个最大元素
BM48 数据流中的中位数 【难!!】
BM53 缺失的第一个正整数
BM54 三数之和 【难!!】
739. 每日温度
394. 字符串解码
560. 和为 K 的子数组

06 递归/回溯

回溯
回溯法的效率
回溯法解决的问题
如何理解回溯法
回溯法模板
排列

BM55 没有重复项数字的全排列
BM56 有重复项数字的全排列
BM58 字符串的排列

棋盘问题

BM59 N皇后问题 【难 ×】
BM60 生成 【不同于一般的回溯,有技巧!!】
BM61 矩阵最长递增路径 【难】

第4节

👉https://blog.csdn.net/weixin_41171614/article/details/137083755

07 字符串

BM83 字符串变形
BM85 验证IP地址
BM86 大数加法

08 双指针

3.无重复字符的最长子串
BM88 判断是否为回文字符串
BM89 合并区间
BM90 最小覆盖子串 【难!!!】
438.找到字符串中所有字母异位词
BM92 最长无重复子数组
BM93 盛水最多的容器
BM94 接雨水问题
283.移动零
581.最短无序连续子数组

第5节

👉https://blog.csdn.net/weixin_41171614/article/details/137084019

09 贪心算法

BM95 分糖果问题
BM96 主持人调度(二) 【× 难!!!】

10 模拟

BM98 螺旋矩阵
BM99 顺时针旋转矩阵
BM100 设计LRU缓存结构
BM101 设计LFU缓存结构


力扣HOT100热题宝典

第1节

👉https://blog.csdn.net/weixin_41171614/article/details/137090089

1、链表

148.排序链表]
114.二叉树展开为链表

2、二分查找/排序

4.寻找两个正序数组的中位数
33.搜索旋转排序数组
34.在排序数组中查找元素的第一个和最后一个位置
49.字母异位词分组
75.颜色分类
347.前 K 个高频元素
406.根据身高重建队列

第2节

👉https://blog.csdn.net/weixin_41171614/article/details/137090584

3、二叉树

124.二叉树中的最大路径和
543.二叉树的直径
538.把二叉搜索树转换为累加树

4、单调栈

84.柱状图中最大的矩形
85.最大矩形

第3节

👉https://blog.csdn.net/weixin_41171614/article/details/137126472

5、回溯

5.1 组合

  1. 电话号码的字母组合
  2. 组合总和

5.2 子集

  1. 子集
  2. 删除无效的括号

5.3 DFS

BM57 岛屿数量
79. 单词搜索

5.4 BFS

207.课程表
面试题 19. 水域大小
542. 01 矩阵
543. 岛屿的最大面积

第4节

👉https://blog.csdn.net/weixin_41171614/article/details/137126703

6、动态规划

70.爬楼梯
BM64 最小花费爬楼梯
BM65 最长公共子序列(二)
BM66 最长公共子串
BM69 把数字翻译成字符串
96. 不同的二叉搜索树

子序列类型

300.最长递增子序列
BM72 最大子序和
152. 乘积最大子数组(最大子序积)
647. 回文子串
BM73 最长回文子串
BM74 数字字符串转化成IP地址
BM76 正则表达式匹配 【× 难】
BM77 最长的括号子串 【难!!】
BM78 打家劫舍(一)
BM79 打家劫舍(二)
337. 打家劫舍 III

二维动态规划

BM67 不同路径的数目(一)
BM68 矩阵的最小路径和
BM75 编辑距离(一)
32. 最长有效括号
221. 最大正方形
312. 戳气球
338. 比特位计数

Java华为机试历年题库,获取方式见


整理不易🚀🚀,关注和收藏后拿走📌📌欢迎留言🧐👋📣✨
快来关注我的公众号🔎AdaCoding 和 GitHub🔎 AdaCoding123
在这里插入图片描述

  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值