- 博客(8)
- 收藏
- 关注
原创 No.275 - LeetCode[1096] Brace Expansion II - 复杂模拟题
写了两个小时,非常麻烦的一道模拟题。关键在于,缓存字符串,和缓存数组嵌套判断,没有 case,这题过不了????/* * @lc app=leetcode id=1096 lang=cpp * * [1096] Brace Expansion II */// @lc code=startclass Solution {public: vector<string> duplicate(vector<vector<string>>& v
2021-08-13 04:07:01 213
原创 No.274 - LeetCode[779] K-th Symbol in Grammar - 思维
首先发现个规律:1,在n增大过程中,前半部分是不变的。2,n为偶数,对折后值相反3,n为奇数,中轴对称直接想法,倒着计算即可。/* * @lc app=leetcode id=779 lang=cpp * * [779] K-th Symbol in Grammar */// @lc code=startclass Solution {public: int kthGrammar(int n, int k) { int ans = 0; wh
2021-08-05 20:58:45 107
原创 No.273 - LeetCode[951] Flip Equivalent Binary Trees - dfs
左右子树交换,直接dfs匹配/* * @lc app=leetcode id=951 lang=cpp * * [951] Flip Equivalent Binary Trees */// @lc code=start/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeN
2021-08-02 19:37:13 106
原创 No.272 - LeetCode[861] Score After Flipping Matrix - 贪心
贪心/* * @lc app=leetcode id=861 lang=cpp * * [861] Score After Flipping Matrix */// @lc code=startclass Solution {public: int calculate(vector<vector<int>>& grid) { int N = grid.size(); int M = grid[0].size();
2021-08-02 19:18:28 108
原创 No.271 - LeetCode[941] Valid Mountain Array - 暴力
严格递增和递减数列,注意边界/* * @lc app=leetcode id=941 lang=cpp * * [941] Valid Mountain Array */// @lc code=startclass Solution {public: bool validMountainArray(vector<int>& arr) { int N = arr.size(); if(N <= 2) return false;
2021-08-02 14:55:48 79
原创 No.270 - LeetCode[1016] Binary String With Substrings Representing 1 To N - 暴力
判断从n到n/2即可,小于n/2都包含在其中。暴力匹配即可/* * @lc app=leetcode id=1016 lang=cpp * * [1016] Binary String With Substrings Representing 1 To N */// @lc code=startclass Solution {public: bool match(string& s, int loc, int k){ int N = s.length();
2021-08-02 14:41:54 122
原创 No.269 - LeetCode[1071] Greatest Common Divisor of Strings - 暴力模拟
纯暴力/* * @lc app=leetcode id=1071 lang=cpp * * [1071] Greatest Common Divisor of Strings */// @lc code=startclass Solution {public: bool check(string str, int k){ int N = str.length(); for(int i=0;i<N/k;i++){ for(
2021-08-01 17:30:38 125
原创 No.268 - LeetCode[798] Smallest Rotation with Highest Score - 动态规划
求解最大得分,不需要计算每个k的实际得分,只需要计算差值就行。从k=1的状态到k=2的状态,会有以下两种计分变化:1,一定只加1分,从位置0到位置N-1的元素一定是得分的2,减分若干,当元素值等于下标正好是0分,往左移动一个会减分,之后不会再减。当k继续增大时,依次类推。解释:N-nums[i]+i+1 是 元素 nums[i] 从起始位置移动k步 到达 下标为nums[i]的左侧/* * @lc app=leetcode id=798 lang=cpp * * [798] Smalle
2021-08-01 16:26:41 121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人