LeetCode
刷题心得
兴涛
春风化雨,森林拔地而起!
展开
-
数组题目常用解法——随笔
数字题目基本上离不开这些解法:1、二分查找2、双指针3、滑动窗口4、哈希表5、动态规划、贪心原创 2022-03-14 11:00:38 · 107 阅读 · 0 评论 -
549. 二叉树中最长的连续序列
549、二叉树中最长的连续序列class Soluion { int maxres = 0; public int longestConsecutive(TreeNode root) { postOrder(root); return maxres; } /** *arr数组表示递增或者递减:arr[0]表示递减,arr[1]表示递增 */ public int[] postOrder(TreeNode root) { int[] arr = new int[2]; if原创 2022-03-09 20:12:24 · 509 阅读 · 0 评论 -
哈希表(散列函数)的构造方法和哈希冲突
哈希表(散列表)的构造方法和哈希冲突一、散列函数的构造方法1、直接定址法2、数字分析法3、平方取中法4、折叠法5、除留余数法6、随机数法二、解决哈希冲突的方法1、开放定址法2、再散列函数法3、链地址法4、公共溢出区法一、散列函数的构造方法1、直接定址法取关键字的某个线性函数的值作为地址:F(key) = A * key + B (A、B为常数) 比如我要存储某个社区年龄0-20岁的人,那么我们可以直接使用年龄的数值作为地址:F(key) = key (A=1、B=0) 采用这种原创 2022-01-16 13:38:15 · 428 阅读 · 0 评论 -
算法题代码实现过程中注意事项
算法题代码实现过程中注意事项1、数组1、数组代码实现过程中,注意数组的下标是否越界,或者下标为-1;原创 2022-01-10 10:02:49 · 218 阅读 · 0 评论 -
对于循环不变量原则的理解
循环不变量在《算法导论(第3版)》的2.1节中有讲述。循环不变量定义:在循环过程中保持不变的性质。循环不变量的主要作用:让算法设计的逻辑更加清晰让代码更加简洁,有更强的逻辑性证明算法的正确性比如:在选择排序算法中,我们可以写出循环不变的性质:区间nums[0…i)里保存了数组里最小的i个元素,并且nums中的元素按升序排列。无论是在循环的初始化、循环的过程中、循环的结束,这个循环不变性质都是恒定不变的。我们可以根据这个不变性质去设计算法、去让程序更有逻辑性等;对二分法进行代码实现时,原创 2022-01-06 11:14:41 · 3554 阅读 · 1 评论 -
leetcode刷题方法
leetcode刷题方法一、范围内的200题二、刷题步骤三、算法思路此文章借鉴 陈同学在搬砖 微信公众号的一篇文章:https://mp.weixin.qq.com/s/xr2abGNv8wDZJ-qyN4KewQ.一、范围内的200题二、刷题步骤传统刷题步骤:1、想出解题大概思路2、将思路转换成伪代码3、将伪代码转换成具体代码4、debug这种刷题步骤相对来说比较耗时,所以针对目前我的情况来写出相应优化反方法。首先对这200道题目只看不写,记住思路。 可以熟练记住每一道题的解法思原创 2021-08-24 16:19:48 · 2113 阅读 · 0 评论