【力扣·每日一题】630. 课程表 III (C++ 贪心 优先队列)

【力扣·每日一题】630. 课程表 III (C++ 贪心 优先队列)

linkkk题意思路经典贪心(不是首先,结束时间晚的可以后选,因为他的可选性比较高。所以首先按照结束时间从小到大排序。然后遍历一遍序列,记录当前的时间。对于当前遍历到的课程,分类讨论:如果当前的时间加上当前课程所需要的时间< =该课程的最晚结束时间,说明可以选该课程。如果此时无法选择该...

【力扣·每日一题】807. 保持城市天际线(C++ 贪心)

【力扣·每日一题】807. 保持城市天际线(C++ 贪心)

题意思路:要求修改后的天际线不变,增加的尽可能多。也就是说对于一个位置来说,最多可以增加到行列的最小值。先预处理每行每列的最小值,再遍历每个位置求和即可。代码:class Solution { public: int maxIncreaseKeepingSkyline(vector<vecto...

【力扣·每日一题】709. 转换成小写字母(C++ 模拟)

【力扣·每日一题】709. 转换成小写字母(C++ 模拟)

linkk题意:代码:class Solution { public: string toLowerCase(string s) { for(int i=0;s[i];i++){ if(s[i]>='A'&&s[i]<='Z...

【力扣·每日一题】911. 在线选举(C++ 二分 STL)

【力扣·每日一题】911. 在线选举(C++ 二分 STL)

linkkk题意:思路:用v e c t o r < i n t > v 记录每个时刻的获胜者,对于每次询问都在t i m e s里二分查找小于等于该时刻的最大时刻,这时候的获胜者就是这次的答案,。代码:class TopVotedCandidate { public: vector&l...

【力扣·每日一题】748. 最短补全词(C++ 模拟)

【力扣·每日一题】748. 最短补全词(C++ 模拟)

linkk题意:思路:题目有几个关键点:不区分大小写补全词优先选最短的同样短的选最靠前的预处理出字符串l i c e n s e P l a t e中每个字母出现的次数(不区分大小写)然后遍历给出的补全词集合,对于每个补全词统计每个字母出现的次数,看是否符合题目的要求,再选择最靠前的最短的作为答案。...

【力扣·每日一题】689. 三个无重叠子数组的最大和 (C++ 前缀和优化dp 保存路径)

【力扣·每日一题】689. 三个无重叠子数组的最大和 (C++ 前缀和优化dp 保存路径)

linkk题意思路dp转移,前缀和优化。多加一个p r e的数组存储路径。首先,数组的长度为2 e 4,暴力肯定是不可行的。考虑用d p去转移。设d p [ i ] [ j ]表示从前i个数分为j组得到的最大价值。对于第i个数有两种选择:属于第j jj组或属于第j − 1组。对相应的转移进行判断就好...

【力扣·每日一题】1034. 边界着色(C++ dfs 二维vector)

【力扣·每日一题】1034. 边界着色(C++ dfs 二维vector)

linkk题意:思路:数据范围不大,可以直接d f s,对于每个点都遍历和他相邻的并且未被访问的点,看下一个点是否越界或颜色和该点相同。具体的逻辑判断在代码里。代码:class Solution { public: vector<vector<int>> ne = {{1,....

压入弹出堆栈算法-附LeetCode剑指 Offer 31. 栈的压入、弹出序列-题解-python && C++源代码

压入弹出堆栈算法-附LeetCode剑指 Offer 31. 栈的压入、弹出序列-题解-python && C++源代码

剑指 Offer 31. 栈的压入、弹出序列难度中等334收藏分享切换为英文接收动态反馈输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对...

经典位运算算法模板-附LeetCode剑指 Offer 56 - I. 数组中数字出现的次数-题解-python && C++源代码

剑指 Offer 56 - I. 数组中数字出现的次数难度中等630收藏分享切换为英文接收动态反馈一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:...

双指针滑窗经典问题算法模板-附LeetCode每日一题题解:713. 乘积小于 K 的子数组-题解-python && C++源代码

订阅专栏713. 乘积小于 K 的子数组难度中等437收藏分享切换为英文接收动态反馈给你一个整数数组 nums 和一个整数 k ,请你返回子数组内所有元素的乘积严格小于 k 的连续子数组的数目。示例 1:输入:nums = [10,5,2,6], k = 100输出:8解释:8 个乘积小于 100 ...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

LeetCode c++相关内容