随笔分类 - leetcode
摘要:6231. 雇佣 K 位工人的总代价 题意:一个数组表示雇佣工人花费,k表示需要雇佣的人数,从数组前后各选candidates个人,从中选花费最小下标最小的工人,然后数组更新,重复上述操作,直至选到k个人。 思路:用set对数据进行存储,第一关键字是存储工人花费,第二关键字存储下标,set默认有序,
阅读全文
摘要:回溯算法总结 回溯三部曲: (1)确定递归函数以及参数 (2)找到回溯终止条件 (3)找到单层递归搜索逻辑 重点: 通过画图确定思路 使用used数组进行去重 对于数独需要二重递归 重点题目 (1)组合问题 (2)子集问题 (3)分割字符串问题 (4)全排列问题 (5)N皇后和解数独问题 1.分割回
阅读全文
摘要:6226. 摧毁一系列目标 题意:对于数组中每一个数nums[i],可以摧毁数组中值等于nums[i]+c*space的数(c为非负整数),求摧毁最大数量时的最小nums[i] 思路:如果两个数x,y可以同时被摧毁,则x%space == y%space,用map统计同一类的数量,遍历数组求得最小值
阅读全文
摘要:树上的BFS与DFS bfs与之前学习的没有什么不同,主要就是对树的层序遍历 dfs是比较抽象的,一般比较难想而且时间复杂度相对于bfs来说会更高。 例题: 1. 二叉树的锯齿形层序遍历 https://leetcode-cn.com/problems/binary-tree-zigzag-leve
阅读全文
摘要:链表翻转 题目要求:翻转链表中某一段的节点 思路:建立一个新节点dummy,新节点的next节点指向原来的头节点,这样就算原来的头节点变动了,我们还可以使用dummy->next来获得新链表的头节点 建立一个指针pre,pre节点始终指向要翻转的那段链表的前驱节点,然后令cur=pre->next始
阅读全文
摘要:可以用来处理数组中的数值限定在一定的区间的问题。 例题: #1.找到所有数组中消失的数字 (https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/) 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数
阅读全文
摘要:区间合并总结 区间合并总体来说还是比较简单的,通过模拟基本都能做出来,不过要注意下标越界的情况。 例题: 1.合并区间(https://leetcode-cn.com/problems/merge-intervals/) 以数组 intervals 表示若干个区间的集合,其中单个区间为 interv
阅读全文
摘要:#快慢指针可用于判断链表中是否有环。 Floyd判圈算法(龟兔赛跑算法) 假设乌龟和兔子在链表上跑步,兔子跑得快,乌龟跑的慢,如果链表中没有环,那么兔子将会一直在乌龟前面,直到终点;反之,如果链表中存在环,那么兔子一定会和乌龟再次相遇。 我们可以设定两个指针,快指针fast指代兔子,慢指针slow指
阅读全文
摘要:这个算法可以用于解决从一个有序数值数组中从数组元素中取两个值,从而求得某个或某些个最值的情况 通常是算法思路都是同时在数组的第一位与最后一位放置一个指针,用这两个指针所在的值计算题目所需的结果, 根据当前计算结果与之前历史结果的比较,判断两个指针如何向内移动(是否移动,移动多少),两个指针重叠标志着
阅读全文
摘要:##滑动窗口大致思路 1.我们使用双指针的思路,初始定义两个指针,left=right=0,把索引闭区间[left,right]看作一个滑动窗口 2.然后不断增加right的值,直到窗口中的字符串符合要求 3.然后,停止增加right的值,转而增加left的值,直到窗口中的字符串不符合要求,每次增加
阅读全文
摘要:5637. 判断字符串的两半是否相似 题意 如果字符串的两半相似,则两半拥有的元音字母个数应该相同 class Solution { public: int count(string s){ int res=0; set<char>S({'a','e','i','o','u'}); for(auto
阅读全文
摘要:#题意 给出二叉树的前序和中序遍历,求二叉树 ##思路 在前序遍历中确定根节点,在中序遍历中确定左子树大小和右子树大小,并根据前序遍历确定左子树根节点和右子树根节点,递归即可得到最后结果 /** * Definition for a binary tree node. * struct TreeNo
阅读全文
摘要:题意 将一群人按排好序,然后制定了一个规则为people[i]=[hi,ki];hi表示该位置人的身高,ki表示i前面身高大于或等于i身高的人数 ##思路 按身高从小到大的顺序放入队列中,i前面有身高比他低的人对ki的值没有影响,所以可以假设后面放进来的都是比前面身高高的, 这样我们可以根据k值来决
阅读全文

浙公网安备 33010602011771号