刷题笔记记录
对常见的题型及模板解法进行相关总结
Java_从入门到入土
这个作者很懒,什么都没留下…
展开
-
【DFS】深度优先遍历
深度优先遍历(DFS)也称为回溯,其特点是不停地做选择,直到找到满足条件的集合。129. 求根节点到叶节点数字之和。原创 2022-12-23 23:37:19 · 160 阅读 · 0 评论 -
【宽度优先遍历BFS】Leetcode127. 单词接龙
宽度优先遍历原创 2022-12-18 21:38:23 · 109 阅读 · 0 评论 -
【刷题笔记】动态规划
动态规划原创 2022-11-30 22:13:44 · 101 阅读 · 0 评论 -
【刷题笔记】双指针
就是两个指针相向而行或者相背而行;,就是两个指针同向而行,一快一慢。原创 2022-11-27 14:58:47 · 167 阅读 · 0 评论 -
动态规划
动态规划问题:明确「状态」 -> 定义 dp 数组/函数的含义 -> 明确「选择」-> 明确 base case。leetcode300: 最长递增子序列.int lengthOfLIS(int* nums, int numsSize){ //dp[i]表示以下标i结尾的数组的最长递增子序列的长度 int dp[numsSize]; //初始值:dp[i] = 1,最少都有一个数满足为递增子序列; for(int i = 0; i < n原创 2021-04-28 21:08:35 · 46 阅读 · 0 评论 -
二分搜索的其他作用
二分查找的两道lettcode题二分查找除了常规的数组查找问题,还能在搜索空间有序的时候,通过二分搜索实现「剪枝」,大幅提升效率。875. 爱吃香蕉的珂珂.题解//找到数组中的最大值int maxSpeed(int* piles, int pilesSize){ int maxS = piles[0]; for(int i = 1; i < pilesSize; i++){ maxS = maxS < piles[i] ? piles[i] : m原创 2021-04-26 22:00:19 · 79 阅读 · 0 评论 -
二分算法刷题总结
二分搜索算法基本的二分查找框架简单查找,找到目标值在数组中的位置下标,如果没有则返回-1int binarySearch(vector<int>& nums, int target){ int left = 0, r = nums.size() - 1; while(left <= right){ int mid = left + (right - left) / 2; if(target == nums[mid] ){ return mid; }e原创 2021-04-26 21:49:47 · 94 阅读 · 0 评论