随笔分类 -  LeetCode

上一页 1 2 3 4 5 6 ··· 13 下一页
摘要:题目 动态规划 class Solution { public: int dp[10005]; int coinChange(vector<int>& coins, int amount) { memset(dp,-1,sizeof(dp)); dp[0] = 0; for(int i=1;i<=a 阅读全文
posted @ 2020-07-09 15:17 Shendu.CC 阅读(129) 评论(0) 推荐(0)
摘要:题目 动态规划 class Solution { public: string dp1[100005]; string _dp1[100005]; string dp2[100005]; string bp1[100005]; string _bp1[100005]; string bp2[1000 阅读全文
posted @ 2020-07-09 15:15 Shendu.CC 阅读(140) 评论(0) 推荐(0)
摘要:题目 找规律 const int MAXN = 2e5; class Solution { public: long long square[MAXN]; int pos=0; int bulbSwitch(int n) { for(long long i=1;i<MAXN;i++) { if(i* 阅读全文
posted @ 2020-07-09 15:11 Shendu.CC 阅读(99) 评论(0) 推荐(0)
摘要:题目 这是一道字符串的题目,题目呢要求找到两个字符串没有重复的字符,且两者长度的乘积最大。暴力可以过。但是在比较字符串的时候可以用位运算,这样时间会大大缩短。 关于字符串,限制在只有小写字母的时候,位运算是可以运用起来,把一串字符用一个数字表示。两个字符串是否有重复,只需要位与一下就可以了 clas 阅读全文
posted @ 2020-06-08 19:39 Shendu.CC 阅读(116) 评论(0) 推荐(0)
摘要:题目 给你一个无向无环图,这个图的任何一个节点都可以当成一个树的根节点。让你找到形成的树的高度最小的那几个根节点。 首先,这个根节点要么只有1个,要么只有2个。 而且就在图中最长的一条路径上,如果这个路径上的节点数为偶数,那就是2个,否则就是1个 那么怎么找这条最长路径呢?首先从任意 一个点出发,找 阅读全文
posted @ 2020-06-08 19:33 Shendu.CC 阅读(109) 评论(0) 推荐(0)
摘要:题目 寻找第n个丑数。 首先我们维护一个丑数的数组,所有的丑数必然是前面的某个丑数乘以primes数组里的某个数字得来。 所以我们在维护一个primes数组对应的最小丑数数组下标pos,primes[i]*pos[i] 就是未来的某个丑数,按照从小到大一个一个计算。 class Solution { 阅读全文
posted @ 2020-06-05 08:17 Shendu.CC 阅读(76) 评论(0) 推荐(0)
摘要:题目 动态规划 dp[i][0] 表示当天什么都不操作 dp[i][1] 表示当天买进 dp[i][2] 表示当天卖出 状态转移就好写出了 class Solution { public: long long int dp[10005][3]; int maxProfit(vector<int>& 阅读全文
posted @ 2020-06-03 15:34 Shendu.CC 阅读(109) 评论(0) 推荐(0)
摘要:题目 动态就区间和,线段树,树状数组都可以 class NumArray { public: int n; int c[100005]; vector<int> nums; NumArray(vector<int>& nums) { this->nums = nums; memset(c,0,siz 阅读全文
posted @ 2020-06-03 15:30 Shendu.CC 阅读(122) 评论(0) 推荐(0)
摘要:题目 简单小模拟 class Solution { public: std::string::size_type sz = 0; bool isAdditiveNumber(string num) { for (int i = 0; i < num.length(); i++) { for (int 阅读全文
posted @ 2020-06-03 15:29 Shendu.CC 阅读(122) 评论(0) 推荐(0)
摘要:题目 二维的,那就二维前缀和数组 class NumMatrix { public: int prefix[1005][1005]; NumMatrix(vector<vector<int>>& matrix) { memset(prefix,0,sizeof(prefix)); for(int i 阅读全文
posted @ 2020-06-03 15:28 Shendu.CC 阅读(99) 评论(0) 推荐(0)
摘要:题目 求区间,固定的数组,用前缀和数组 class NumArray { public: vector<int> prefix; NumArray(vector<int>& nums) { prefix.push_back(0); for(int i=0;i<nums.size();i++) { p 阅读全文
posted @ 2020-06-03 15:26 Shendu.CC 阅读(104) 评论(0) 推荐(0)
摘要:题目 删除最少的括号,让所有括号匹配起来。 大部分都是用DFS,或者BFS。我用的DP,也可以过 dp[i][j] :means it need remove at least dp[i][j] characters to get vaild parenthese from position i t 阅读全文
posted @ 2020-06-03 15:22 Shendu.CC 阅读(154) 评论(0) 推荐(0)
摘要:题目 经典题目,最长递增子序列。 有O(n2)效率,还有O(n*logn)效率的。 O(n2)的效率很好理解的啦,就是大家最常见的那种DP O(n*logn) 的方法是维护一个递增的栈,这个栈不等于最长递增子序列。但是数组的长度一定是等于最长递增子序列的长度的。 遍历原始数组,每次的操作是把当前元素 阅读全文
posted @ 2020-05-28 13:18 Shendu.CC 阅读(98) 评论(0) 推荐(0)
摘要:题目 比较两个字符串,有多少相同位置的字符是相同的,相同的字符放在不同的位置 class Solution { public: int digit[10]; string getHint(string secret, string guess) { int a = 0, b = 0; for (in 阅读全文
posted @ 2020-05-28 11:46 Shendu.CC 阅读(97) 评论(0) 推荐(0)
摘要:题目 树的序列化, /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), lef 阅读全文
posted @ 2020-05-28 11:44 Shendu.CC 阅读(95) 评论(0) 推荐(0)
摘要:题目 求一个数组的中位数,但是这个数组是动态增加的,怎么做呢?可以考虑到用插入排序,每增加一个值,都插入排序一下,最坏的效率是O(n),查询效率是O(1) 效率太低,会超时。更高明的做法,是维护两个堆,一个是大堆,一个是小堆,大堆的数字都大于小堆里的数字,两个堆的数字均分这个数字。大堆用最小堆实现, 阅读全文
posted @ 2020-05-26 20:12 Shendu.CC 阅读(103) 评论(0) 推荐(0)
摘要:题目 题意:地上有一堆石头,每次只能拿1-3个石头,两个人轮流拿,谁拿走最后一个石头,谁就获胜。你先手。 题解:如果地上的石头小于等于3个,先手必赢,当等于4的时候,后手必赢。基于4我们可以推出,当石头的数=8的时候,后手也必赢,5,6,7都是先手赢,所以规律可以递推找到,就是看是否是4的整数倍。 阅读全文
posted @ 2020-05-26 20:02 Shendu.CC 阅读(154) 评论(0) 推荐(0)
摘要:题目 很简单的字符串处理题 class Solution { public: map<string, char> m; map<char, string> m2; bool wordPattern(string pattern, string str) { string s = ""; int i, 阅读全文
posted @ 2020-05-26 19:53 Shendu.CC 阅读(109) 评论(0) 推荐(0)
摘要:"题目" 一道好题目。 发现数组里重复的数字是什么,不借助额外的数据结构。数组里的数字范围是1 n,数组的个数是n+1,所以一定存在重复的情况。重复的个数至少是1。如果题目说只有一个数字是重复的,那么就是另一道题目了。 首先根据这个数组的特性,按照数组的下标把从第0个数开始,把数组变成一个链表,链表 阅读全文
posted @ 2020-05-18 16:26 Shendu.CC 阅读(105) 评论(0) 推荐(0)
摘要:"题目" 再维护一个iterator ,用来实现peek 阅读全文
posted @ 2020-05-18 15:44 Shendu.CC 阅读(103) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 ··· 13 下一页