- 博客(13)
- 收藏
- 关注
原创 763. 划分字母区间
算法思路:记录字符串s中出现的不同字符出现的最后位置遍历字符串s,记录当前字符最后的位置end,并不断更新,直到当前遍历到最后的位置,截断class Solution {public: vector<int> partitionLabels(string s) { vector<int> last(26,0); int n = s.size(); vector<int> result(n,0);
2022-04-28 09:44:16 71
原创 524. 通过删除字母匹配到字典里最长单词
class Solution {public: string findLongestWord(string s, vector<string>& dictionary) { int n = dictionary.size(); string t; int s_index = s.size() - 1; int t_index = 0; int delete_s = 0; i
2022-04-28 09:22:42 64
原创 633. 平方数之和
class Solution {public: bool judgeSquareSum(int c) { long right = (long)sqrt(c); int left = 0; long target = 0; while(left <= right) { target = left * left + right * right; //cout
2022-04-26 16:37:45 72
原创 76. 最小覆盖子串
#解题思路本题首先用map这一数据结构存储string t中各个字符的统计个数设置滑动窗口left和right,在找到第一个满足条件的窗口之前,left不移动,向右移动right(直到right遍历完主串s)找到第一个满足条件的子串(记录初始位置和长度),此时map中各个字符的值为0向右移动left,移动过程中注意:移动丢失的字符在map中记录(增加字符对应的int值),并将当前子串长度递减:if(++map_t[s[left]] > 0) cnt--;判断是否大于零的原因是有可能存在主串中
2022-04-26 16:10:47 731
原创 88. 合并两个有序数组
class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int index = m + n - 1; m--; n--; while(m >= 0 && n >= 0) { nums1[inde
2022-04-25 21:10:00 67
原创 665. 非递减数列
class Solution {public: bool checkPossibility(vector<int>& nums) { int result = 0; for(int i = 0; i < nums.size() - 1; i++) { if(nums[i] > nums[i + 1]) { result++;
2022-04-25 20:42:30 51
原创 665. 非递减数列
class Solution {public: bool checkPossibility(vector<int>& nums) { int result = 0; for(int i = 0; i < nums.size() - 1; i++) { if(nums[i] > nums[i + 1]) { result++;
2022-04-25 15:08:09 62
原创 406. 根据身高重建队列
class Solution {public: static bool cmp(vector<int>& a, vector<int>& b) { if(a[0] != b[0]) return a[0] > b[0]; else return a[1] < b[1]; } vector<vector<int>> reconstructQueue(vector<
2022-04-25 15:07:37 51
原创 406. 根据身高重建队列
class Solution {public: static bool cmp(vector<int>& a, vector<int>& b) { if(a[0] != b[0]) return a[0] > b[0]; else return a[1] < b[1]; } vector<vector<int>> reconstructQueue(vector<
2022-04-24 16:34:24 56
原创 122. 买卖股票的最佳时机 II
class Solution {public: int maxProfit(vector<int>& prices) { int n = prices.size(); int start = prices[0]; int end = prices[1]; int max_profit = 0; for(int i = 1; i < n; i++) {
2022-04-24 14:46:36 59
原创 435. Non-overlapping Intervals
#435. Non-overlapping Intervals在这里插入代码片class Solution {public: static bool cmp(vector<int>& a, vector<int>& b) { return a[1] < b[1];//error: a.end() < b.end() } int eraseOverlapIntervals(vector<vector
2022-04-22 17:46:58 73
原创 135.candy
Candyclass Solution {public: int candy(vector<int>& ratings) { vector<int> data(ratings.size(), 1); for(int i = 0; i < ratings.size() - 1; i++) { if(ratings[i] < ratings[i + 1] && da.
2022-04-22 16:02:03 90
原创 455. Assign Cookies
力扣刷题 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加455. Assign Cookies提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录力扣刷题455. Assign Cookies总结455. Assign Cookies提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。#代码如下:class Solution {publi
2022-04-22 15:04:53 191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人