leetcode
charlie_heng
这个作者很懒,什么都没留下…
展开
-
leetcode Subsets
这道题是求一个集合的所有子集 可以递归解 代码如下 class Solution { public: vector<vector<int>> subsets(vector<int>& nums) { if(nums.size()>0) { int t=nums[0]; ...原创 2018-09-08 09:39:26 · 170 阅读 · 0 评论 -
leetcde Domino and Tromino Tiling.
这周找了还是找了一道dp 题目大概意思是2xN的铺瓷砖 有两种瓷砖 一种是 XX 一种是 Y YY 问给定一个N,有多少种铺法 假设现在N为3的话,铺法等于 XX X + X XX + XX XX + X X 这四种铺法的和 将3推广为N即可,不过还要维持一下 XX XXX 和 XXX XX 的铺法 class Solution { public: int numTilings(int...原创 2018-11-29 19:36:30 · 168 阅读 · 0 评论 -
leetcode Largest Sum of Averages
这道是区间dp,三层循环一下就可以了 class Solution { public: double largestSumOfAverages(vector<int>& A, int K) { double dp[A.size()][A.size()][K]; int sums[A.size()][A.size()]; f...原创 2018-11-23 22:07:40 · 183 阅读 · 0 评论 -
leectcode Ugly Number II
用一个数组来保存三个下标 这个三个下标对应的ugly number 乘以2、3、5 当最大的ugly number大于等于某个下标乘以对应的数时,该下标自增1 class Solution { public: int nthUglyNumber(int n) { vector<int> ans; ans.push_back(1); ...原创 2018-11-13 17:59:33 · 146 阅读 · 0 评论 -
leetcode Length of Longest Fibonacci Subsequence
这道题其实就是二维dp class Solution { public: int lenLongestFibSubseq(vector<int>& A) { map<int,int> idxs; vector<vector<int> > dp(A.size()); set<int&...原创 2018-11-06 19:30:45 · 222 阅读 · 0 评论 -
leetcode Is Subsequence
简单练手 class Solution { public: bool isSubsequence(string s, string t) { if(s.length()>t.length()) return false; if(s.length()==0) return true; int...原创 2018-10-30 12:34:43 · 156 阅读 · 0 评论 -
leetcode Partition Equal Subset Sum
简单的组合问题 class Solution { public: bool canPartition(vector<int>& nums) { set<int> s; int total=0; for(int i=0;i<nums.size();i++) { tot...原创 2018-10-24 16:38:36 · 136 阅读 · 0 评论 -
leetcode Keys and Rooms
简单图搜索 class Solution { public: bool canVisitAllRooms(vector<vector<int>>& room) { bool r[room.size()]; for(int i=0;i<room.size();i++) r[i]=false; ...原创 2018-10-18 14:27:01 · 125 阅读 · 0 评论 -
leetcode Course Schedule II
刚刚学了下拓扑排序,于是找了道题来做下 代码如下 class Solution { public: struct node{ int val; node* next; node(){ val=-1; next=0; } }; vector<node...原创 2018-09-28 09:37:48 · 125 阅读 · 0 评论 -
leetcode Score After Flipping Matrix
比较简单的一题 主要运用贪心的思想 让权值高的位尽量为1 代码如下 class Solution { public: int matrixScore(vector<vector<int>>& A) { for(int i=0;i<A.size();i++) { if(A[i][0]==0) ...原创 2018-09-22 10:41:25 · 141 阅读 · 0 评论 -
leetcode Product of Array Except Self
题目要求复杂度为O(n),且不能用除法 那算从左和从右开始乘的成绩,然后算到某一位,直接找左边的乘积和右边的乘积,乘起来就行 class Solution { public: vector<int> productExceptSelf(vector<int>& nums) { vector<int> l,r,result; ...原创 2018-10-11 13:25:04 · 153 阅读 · 0 评论 -
leetcode Word Ladder
这题一开始想着有点麻烦,但是后面发现其实还是bfs 暴力搜索一波就行了 class Solution { private: int diff(string s1,string s2){ int d=0; for(int i=0;i<s1.length();i++){ if(s1[i]!=s2[i]) ...原创 2018-10-02 09:39:40 · 150 阅读 · 0 评论 -
leetcode Binary Tree Inorder Traversal
简单复习了一下树的中序遍历 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) ...原创 2018-09-12 20:41:39 · 130 阅读 · 0 评论 -
leetcode Largest Plus Sign
这道题有点坑,这是一道dp题,关键要找到子问题,这里的子问题可以分为两个,从某一点向左走的最长非0的长度,和向上走的最长非0的长度,找到这两个之后,再做判断,其实还可以更方便点,分为四个子问题,每一点的最大加号为四个方向最小的那个值 class Solution { public: int orderOfLargestPlusSign(int N, vector<vector<...原创 2018-12-03 15:27:55 · 181 阅读 · 0 评论