刷题
朱家小旺
这个作者很懒,什么都没留下…
展开
-
ACM模式下输入
一、c++读取符号隔开的数据存入数组方式一:#include<iostream>#include<sstream>#include<string>#include<vector>using namespace std;int main() { string str; getline(cin, str); istringstream is(str); int t; char ch; vector<in原创 2021-06-17 21:58:33 · 535 阅读 · 0 评论 -
2021-04-01
小包最近迷上了一款叫做雀魂的麻将游戏,但是这个游戏规则太复杂,小包玩了几个月了还是输多赢少。于是生气的小包根据游戏简化了一下规则发明了一种新的麻将,只留下一种花色,并且去除了一些特殊和牌方式(例如七对子等),具体的规则如下:总共有36张牌,每张牌是1~9。每个数字4张牌。你手里有其中的14张牌,如果这14张牌满足如下条件,即算作和牌14张牌中有2张相同数字的牌,称为雀头。除去上述2张牌,剩下12张牌可以组成4个顺子或刻子。顺子的意思是递增的连续3个数字牌(例如234,567等),刻子的意思是相同数原创 2021-04-01 11:30:52 · 81 阅读 · 0 评论 -
LRU算法代码
// 最近最少缓存算法(key,value)class LRUCache{private: // 1、list双向链表 std::list<std::pair< int, int> > _list; // 2、使用unordered_map // 由于需要快速定位链表的结点,故在map中使用value字段来存储链表的结点,这里是使用了迭代器。 std::unordered_map< int, std::list<std::p原创 2021-03-20 11:57:09 · 558 阅读 · 0 评论 -
395. 至少有 K 个重复字符的最长子串
题目描述:给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。示例 1:输入:s = "aaabb", k = 3输出:3解释:最长子串为 "aaa" ,其中 'a' 重复了 3 次。示例 2:输入:s = "ababbc", k = 2输出:5解释:最长子串为 "ababb" ,其中 'a' 重复了 2 次, 'b' 重复了 3 次。 提示:1 <= s.length <= 104原创 2021-02-28 19:48:21 · 94 阅读 · 0 评论 -
424. 替换后的最长重复字符
给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。注意:字符串长度 和 k 不会超过 104。示例 1:输入:s = "ABAB", k = 2输出:4解释:用两个'A'替换为两个'B',反之亦然。示例 2:输入:s = "AABABBA", k = 1输出:4解释:将中间的一个'A'替换为'B',字符串变为 "AABBBBA"。子串 "BBBB" 有最长重复字母, 答案为 4原创 2021-02-02 13:54:27 · 195 阅读 · 0 评论 -
842. 将数组拆分成斐波那契序列
给定一个数字字符串 S,比如 S = “123456579”,我们可以将它分成斐波那契式的序列 [123, 456, 579]。形式上,斐波那契式序列是一个非负整数列表 F,且满足:0 <= F[i] <= 2^31 - 1,(也就是说,每个整数都符合 32 位有符号整数类型);F.length >= 3;对于所有的0 <= i < F.length - 2,都有 F[i] + F[i+1] = F[i+2] 成立。另外,请注意,将字符串拆分成小块时,每个块的数字一定原创 2020-12-08 14:07:06 · 53 阅读 · 0 评论 -
5614. 找出最具竞争力的子序列 单调栈
5614. 找出最具竞争力的子序列给你一个整数数组 nums 和一个正整数 k ,返回长度为 k 且最具 竞争力 的 nums 子序列。数组的子序列是从数组中删除一些元素(可能不删除元素)得到的序列。在子序列 a 和子序列 b 第一个不相同的位置上,如果 a 中的数字小于 b 中对应的数字,那么我们称子序列 a 比子序列 b(相同长度下)更具 竞争力 。 例如,[1,3,4] 比 [1,3,5] 更具竞争力,在第一个不相同的位置,也就是最后一个位置上, 4 小于 5 。示例 1:输入:nums =原创 2020-11-29 15:19:49 · 365 阅读 · 0 评论 -
力扣 1658. 将 x 减到 0 的最小操作数
题目描述:示例 1:输入:nums = [1,1,4,2,3], x = 5输出:2解释:最佳解决方案是移除后两个元素,将 x 减到 0 。示例 2:输入:nums = [5,6,7,8,9], x = 4输出:-1示例 3:输入:nums = [3,2,20,1,1,3], x = 10输出:5解释:最佳解决方案是移除后三个元素和前两个元素(总共 5 次操作),将 x 减到 0 。提示:1 <= nums.length <= 1051 <= nums[原创 2020-11-20 22:20:43 · 259 阅读 · 0 评论 -
力扣 140:单词拆分II
很经典的题,记录下来留作复习给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。12示例 1:输入:s = “catsanddog”wordDict = [“cat”, “cats”, “and”, “sand”, “dog”]输出:[“cats and dog”,“cat sand dog”]转载 2020-11-01 22:30:09 · 120 阅读 · 0 评论