- 博客(21)
- 收藏
- 关注
原创 leetCode 391打卡记录2021.11.16
typedef pair<int, int> Point;class Solution {public: bool isRectangleCover(vector<vector<int>>& rectangles) { long area = 0; int minX = rectangles[0][0], minY = rectangles[0][1], maxX = rectangles[0][2], maxY =
2021-11-16 11:15:39
81
原创 leetCode 319打卡记录2021.11.13
class Solution {public: int bulbSwitch(int n) { return sqrt(n+0.5); }};
2021-11-15 18:24:04
89
原创 leetCode 677打卡记录2021.11.13
class MapSum {public: MapSum() { } void insert(string key, int val) { map[key] = val; } int sum(string prefix) { int count=0; for(auto & [key,val] : map){ if(key.substr(0,prefix.size()
2021-11-14 11:28:01
3680
原创 leetCode 520打卡记录2021.11.13
class Solution {public: bool detectCapitalUse(string word) { if(word.size()>=2 && islower(word[0]) && isupper(word[1])) return false; for(int i=2;i<word.size();i++){ if(islower(word[1]) ^ i
2021-11-13 16:28:04
3216
原创 leetCode 375打卡记录2021.11.12
class Solution {public: int getMoneyAmount(int n) { vector<vector<int>> dp(n+1,vector<int>(n+1)); for(int i=n-1;i>=1;i--){ for(int j=i+1;j<=n;j++){ int minCost=INT_MAX;
2021-11-12 14:51:47
70
原创 leetCode 629打卡记录2021.11.11
题目 给出两个整数 n 和 k,找出所有包含从 1 到 n 的数字,且恰好拥有 k 个逆序对的不同的数组的个数。 逆序对的定义如下:对于数组的第i个和第 j个元素,如果满i < j且 a[i] > a[j],则其为一个逆序对;否则不是。 由于答案可能很大,只需要返回 答案 mod 109 + 7 的值。 n 的范围是 [1, 1000] 并且 k 的范围是 [0, 1000]解题思路首先确定该题需要使用动态规划。为了方便推导公式,先举一个例子: [ 2 , .
2021-11-11 19:16:56
224
原创 leetCode 495打卡记录2021.11.10
1.题目描述 在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄。他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。 当提莫攻击艾希,艾希的中毒状态正好持续 duration 秒。 正式地讲,提莫在 t 发起发起攻击意味着艾希在时间区间 [t, t + duration - 1](含 t 和 t + duration - 1)处于中毒状态。如果提莫在中毒影响结束 前 再次攻击,中毒状态计时器将会 重置 ,在新的攻击之后,中毒影响将会在 duration 秒后结束。 给你一个 非递减
2021-11-10 20:21:24
86
原创 2021.11.9划水一天
class Solution {int ans, used;unordered_map<char, int> rem;stack<pair<char, int>> st;void dfs(int pos, string &board) { if (used >= ans) return; if (pos == board.size()) { if (st.empty()) an
2021-11-09 19:29:08
184
原创 2021.11.8划水一天
class Solution {public: string getHint(string secret, string guess) { int bulls = 0; vector<int> cntS(10), cntG(10); for (int i = 0; i < secret.length(); ++i) { if (secret[i] == guess[i]) {
2021-11-08 23:06:32
61
原创 2021.11.7划水一天
class Solution {public: int missingNumber(vector<int>& nums) { unordered_set<int> set; int n = nums.size(); for (int i = 0; i < n; i++) { set.insert(nums[i]); } int missing = -1;
2021-11-06 22:47:16
61
原创 leetCode 1218打卡记录2021.11.5
1.题目描述 给你一个整数数组 arr 和一个整数 difference,请你找出并返回 arr 中最长等差子序列的长度,该子序列中相邻元素之间的差等于 difference 。 子序列 是指在不改变其余元素顺序(划重点)的情况下,通过删除一些元素或不删除任何元素而从 arr 派生出来的序列。2.解题思路解题方法:动态规划 动态规划按题中的意思是,从头到尾遍历数组。依次保存以当前数字为首的,最长子序列,并且这个子序列不改变其余元素顺序(该说明对本题很重要,后面会讲),后面的数字如果在减去
2021-11-05 14:58:06
121
原创 leetCode 367打卡记录2021.11.4
367. 有效的完全平方数1.题目描述 给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。 进阶:不要 使用任何内置的库函数,如 sqrt 。2.解题思路 暴力解决法:直接从1开始遍历,查找出符合条件的数,遍历完还没找到,就返回FALSE。3.代码class Solution {public: bool isPerfectSquare(int num) { long i=1,square=1;
2021-11-04 15:05:24
92
原创 2021.11.3划水一天
typedef pair<int,int> pii;class Solution {public: int trapRainWater(vector<vector<int>>& heightMap) { if (heightMap.size() <= 2 || heightMap[0].size() <= 2) { return 0; } int m = he
2021-11-03 20:23:57
51
原创 leetCode 575打卡记录2021.11.1
575. 分糖果1.题目描述 Alice 有 n 枚糖,其中第 i 枚糖的类型为 candyType[i] 。Alice 注意到她的体重正在增长,所以前去拜访了一位医生。 医生建议 Alice 要少摄入糖分,只吃掉她所有糖的 n / 2 即可(n 是一个偶数)。Alice 非常喜欢这些糖,她想要在遵循医生建议的情况下,尽可能吃到最多不同种类的糖。 给你一个长度为 n 的整数数组 candyType ,返回: Alice 在仅吃掉 n / 2 枚糖的情况下,可以吃到糖的最多种类数。2.解题思路
2021-11-01 22:23:18
3670
原创 leetCode 500打卡记录2021.10.31
500 键盘行(简单题)1.题目:给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。美式键盘 中:第一行由字符 "qwertyuiop" 组成。第二行由字符 "asdfghjkl" 组成。第三行由字符 "zxcvbnm" 组成。2.解题思路将所有数字分为三组,分组标准为 该字母所在行数 ,比如说‘a’在第二行,‘z’在第三行。然后将所有字母按a-z的顺序,将他们的行数整合成一个字符串。也就是(0代表第一行,依次类推):“1221
2021-10-31 19:29:19
605
原创 leetCode 260打卡记录2021.10.30
LeetCode260 只出现一次的数字 III解题思路:位运算1.了解异或运算(^)、与运算(&) 异或(二进制)运算,两个数字的二进制每一位进行异或运算,不同则为1,相同则为0,比如说二进制的3是(011),二进制的4是(100). 这两个数字进行异或也就是3 ^ 4 = (011) ^ (100) = (111) =7 与运算则是两个数字的二进制每一位进行与运算,某一位都为则结果为1,即如下:3 & 4 = (011)& (100)=(000)= 03
2021-10-30 20:46:33
64
原创 2021.10.29划水一天
class Solution {public boolean isSelfCrossing(int[] d) {int n = d.length;if (n < 4) return false;for (int i = 3; i < n; i++) {if (d[i] >= d[i - 2] && d[i - 1] <= d[i - 3]) return true;if (i >= 4 && d[i - 1] == d[i - 3]
2021-10-29 21:42:17
58
原创 leetCode 869打卡记录2021.10.28
#LeetCode 869 重新排序获得2的幂解题思路:将 n 转字符串后排序,然后对 2 的幂也进行同样操作,如果两字符串相等,说明找到。如果全不相等,说明得不到。
2021-10-28 10:05:25
60
原创 LeetCode 301打卡记录2021.10.27
LeetCode 301 删除无效的括号题目描述给你一个由若干括号和字母组成的字符串 s ,删除最小数量的无效括号,使得输入的字符串有效。返回所有可能的结果。答案可以按 任意顺序 返回。示例 1:输入:s = “()())()”输出:["(())()","()()()"]示例 2:输入:s = “(a)())()”输出:["(a())()","(a)()()"]示例 3:输入:s = “)(”输出:[""]解题思路知识点:DFS、剪枝将字符串遍历,判断左括号“(”与右括号“)”
2021-10-27 21:45:38
56
原创 Redis学习之String数据类型
Redis的常用命令:1.ping命令:查看数据库状态是否正常(pong标识数据库正常)2.选择数据库:Redis数据库一共包含16个数据库,从0-15,通过 "select 下标"来选择数据库。3.查看数据库数据个数:“dbsize”4.清空数据库:“flushdb”Redis之Key关键字介绍1.查找当前库中所有的Key:keys * 2.查询代替字符(类似于模糊...
2020-02-28 11:29:09
75
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人