LeetCode 热题 100 回顾

LeetCode 热题 100 回顾

目录

一、哈希部分

1.两数之和 (简单)

2.字母异位词分组 (中等)

3.最长连续序列 (中等)

二、双指针部分

4.移动零 (简单)

5.盛最多水的容器 (中等)

6. 三数之和 (中等)

7.接雨水 (困难)

三、滑动窗口

8.无重复字符的最长子串 (中等)

9.找到字符串中所有字母异位词 (中等)

四、子串

10.和为 K 的子数组 (中等)

11.滑动窗口最大值 (困难)

12.最小覆盖子串 (困难)

五、普通数组

13.最大子数组和 (中等)

14.合并区间 (中等)

15.轮转数组 (中等)

16.除自身以外数组的乘积 (中等)

17.缺失的第一个正数 (困难)

六、矩阵

18.矩阵置零 (中等)

19.螺旋矩阵(中等)

20.旋转图像(中等)

21.搜索二维矩阵 II(中等)

七、链表

22.相交链表(简单)

23.反转链表(简单)

24.回文链表(简单)

25.环形链表(简单)

26. 环形链表 II(中等)

27.合并两个有序链表(简单)

28.两数相加(中等)

29.删除链表的倒数第 N 个结点(中等)

30.两两交换链表中的节点(中等)

31.K 个一组翻转链表 (困难)

32.随机链表的复制(中等)

33.排序链表(中等)

34.合并 K 个升序链表 (困难)

35.LRU 缓存(中等)

八、二叉树

36.二叉树的中序遍历(简单)

37.二叉树的最大深度(简单)

38.翻转二叉树(简单)

39.对称二叉树(简单)

40.二叉树的直径(简单)

41.二叉树的层序遍历(中等)

42.将有序数组转换为二叉搜索树(简单)

43.验证二叉搜索树(中等)

44.二叉搜索树中第 K 小的元素(中等)

45.二叉树的右视图(中等)

46.二叉树展开为链表(中等)

47.从前序与中序遍历序列构造二叉树(中等)

48.路径总和 III(中等)

49.二叉树的最近公共祖先(中等)

50.二叉树中的最大路径和 (困难)

九、图论

51.岛屿数量(中等)

52.腐烂的橘子(中等)

53.课程表(中等)

54.实现 Trie (前缀树)(中等)

十、回溯

55.全排列(中等)

56.子集(中等)

57.电话号码的字母组合(中等)

58.组合总和(中等)

59.括号生成(中等)

60.单词搜索(中等)

61.分割回文串(中等)

62.N 皇后 (困难)

十一、二分查找

63.搜索插入位置(简单)

64.搜索二维矩阵(中等)

65.在排序数组中查找元素的第一个和最后一个位置(中等)

66.搜索旋转排序数组(中等)

67.寻找旋转排序数组中的最小值(中等)

68.寻找两个正序数组的中位数 (困难)

十二、栈

69.有效的括号(简单)

70.最小栈(中等)

71.字符串解码(中等)

72.每日温度(中等)

73.柱状图中最大的矩形(困难)

十三、堆

74.数组中的第K个最大元素(中等)

75.前 K 个高频元素(中等)

76.数据流的中位数(困难)

十四、贪心算法

77.买卖股票的最佳时机(简单)

78.跳跃游戏(中等)

79.跳跃游戏 II(中等)

80.划分字母区间(中等)

十五、动态规划

81.爬楼梯(简单)

82.杨辉三角(简单)

83.打家劫舍(中等)

84.完全平方数(中等)

85.零钱兑换(中等)

86.单词拆分 (中等)

87.最长递增子序列  (中等)

88.乘积最大子数组 (中等)

89.分割等和子集 (中等)

90.最长有效括号(困难)

十六、多维动态规划

91.不同路径 (中等)

92.最小路径和(中等)

93.最长回文子串(中等)

94.最长公共子序列 (中等)

95.编辑距离(中等)

十七、技巧

96.只出现一次的数字(简单)

97.多数元素(简单)

98.颜色分类(中等)

99.下一个排列(中等)

100.寻找重复数(中等)


干货分享,感谢您的阅读!

一、哈希部分

1.两数之和 (简单)

题目描述

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。

你可以按任意顺序返回答案。

示例 1:输入:num

Read more

C++:哈希表

C++:哈希表

目录 unordered_set和unordered_map unordered_set(map)的介绍 unordered_set(map) 和 set(map) 的差异 unordered_multiset / unordered_multimap 介绍哈希表 哈希概念 直接定址法 哈希冲突 负载因子 常见哈希函数 除法散列法(重点) 乘法散列法 哈希表的实现 开发定址法(闭散列) 整体框架 哈希表的插入 哈希表的查找  哈希表的删除 测试开放定址法实现的哈希表 链地址法(开散列)(重点) 整体框架 哈希表的插入 哈希表的查找 哈希表的删除 测试链地址法实现的哈希表 unordered_set和unordered_map 在 C++ 中,

By Ne0inhk
【看海的算法日记✨优选篇✨】第二回:流动之窗,探索算法的优雅之道

【看海的算法日记✨优选篇✨】第二回:流动之窗,探索算法的优雅之道

🌈 个人主页:谁在夜里看海. 🔥 个人专栏:《C++系列》《Linux系列》《算法系列》 ⛰️ 道阻且长,行则将至 目录 一、算法思想 双指针 滑动窗口 二、具体运用 1.⻓度最⼩的⼦数组 算法思路 算法流程 代码 2.最⼤连续1的个数III 算法思路 算法流程 代码 3.⽔果成篮 算法思路 算法流程 代码 4.串联所有单词的⼦串 算法思路 算法流程 代码 三、总结 一、算法思想 上一章我们介绍了双指针的算法思想,其核心原理是利用两个指针在数组中移动,以高效解决一个涉及有序序列、子区间的问题。我们主要介绍的是用于解决在有序区间中判断元素对的场景,即判断两个指针指向的元素,

By Ne0inhk
Flutter 三方库 conduit_password_hash 的鸿蒙化适配指南 - 实现企业级安全密码加盐哈希、支持 Argon2, PBKDF2 与 BCrypt 算法集成

Flutter 三方库 conduit_password_hash 的鸿蒙化适配指南 - 实现企业级安全密码加盐哈希、支持 Argon2, PBKDF2 与 BCrypt 算法集成

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 conduit_password_hash 的鸿蒙化适配指南 - 实现企业级安全密码加盐哈希、支持 Argon2, PBKDF2 与 BCrypt 算法集成 前言 在进行 Flutter for OpenHarmony 的全栈开发时,用户的账户安全是压倒一切的需求。尤其是在构建鸿蒙端侧的本地认证服务或配套的 Dart 服务端时,绝不能以明文存储密码。conduit_password_hash 是一个源自 Conduit 框架的高性能加密库,它提供了多种符合工业安全标准的哈希算法。本文将探讨如何在鸿蒙端利用该库构建牢不可破的密码保护体系。 一、原理解析 / 概念介绍 1.1 基础原理 conduit_password_hash 采用了“慢哈希(Slow

By Ne0inhk
【C++动态规划 数学】1039. 多边形三角剖分的最低得分|2130

【C++动态规划 数学】1039. 多边形三角剖分的最低得分|2130

本文涉及知识点 C++动态规划 数学 LeetCode1039. 多边形三角剖分的最低得分 你有一个凸的 n 边形,其每个顶点都有一个整数值。给定一个整数数组 values ,其中 values[i] 是第 i 个顶点的值(即 顺时针顺序 )。 假设将多边形 剖分 为 n - 2 个三角形。对于每个三角形,该三角形的值是顶点标记的乘积,三角剖分的分数是进行三角剖分后所有 n - 2 个三角形的值之和。 返回 多边形进行三角剖分后可以得到的最低分 。 示例 1: 输入:values = [1,2,3] 输出:6 解释:多边形已经三角化,唯一三角形的分数为 6。 示例

By Ne0inhk