随笔分类 - LeetCode题解
摘要:1 class Solution 2 { 3 public: 4 int numIslands(vector<vector<char>>& grid) 5 { 6 if(grid.size() == 0 || grid[0].size() == 0) return 0; 7 int m = grid
阅读全文
摘要:1 class Solution 2 { 3 public: 4 int hammingWeight(uint32_t n) 5 { 6 int res = 0; 7 for(int i = 0;i < 32;i ++) res += (n >> i) & 1; 8 return res; 9 }
阅读全文
摘要:1 class Solution 2 { 3 public: 4 uint32_t reverseBits(uint32_t n) 5 { 6 uint32_t res = 0; 7 for(int i = 0;i < 32;i ++) //得到从最低位到最高位的每一位数 8 { 9 res +=
阅读全文
摘要:1 class Solution 2 { 3 public: 4 void rotate(vector<int>& nums, int k) 5 { 6 int n = nums.size(); 7 k = k % n; 8 reverse(nums.begin(),nums.begin() + n
阅读全文
摘要:1 class Solution 2 { 3 public: 4 vector<string> findRepeatedDnaSequences(string s) 5 { 6 int n = s.size(); 7 vector<string> res; 8 unordered_map<strin
阅读全文
摘要:1 bool compare(int a,int b)//int比较 2 { 3 string str1=to_string(a); 4 string str2=to_string(b); 5 return (str1+str2) > (str2+str1); 6 } 7 8 class Solut
阅读全文
摘要:1 class Solution 2 { 3 public: 4 bool makesquare(vector<int>& nums) 5 { 6 if(nums.size()<4) return false; 7 int sum=0; 8 for(int i=0;i<nums.size();i++
阅读全文
摘要:1 class Solution 2 { 3 public: 4 int trailingZeroes(int n) 5 { 6 int res = 0; 7 while(n >= 5) 8 { 9 res += n / 5; 10 n /= 5; 11 } 12 return res; 13 }
阅读全文
摘要:1 class Solution 2 { 3 public: 4 int titleToNumber(string s) 5 { 6 unordered_map<char,int> hash; 7 for(int i = 1;i <= 26;i ++) hash['A' + i - 1] = i;
阅读全文
摘要:1 class Solution 2 { 3 public: 4 int majorityElement(vector<int>& nums) 5 { 6 unordered_map<int,int> hash; 7 for(auto a : nums) hash[a]++; 8 for(auto
阅读全文
摘要:1 class Solution 2 { 3 public: 4 string convertToTitle(int n) 5 { 6 unordered_map<int,char> hash; 7 for(int i = 1;i <= 26;i ++) hash[i] = 'A' + i - 1;
阅读全文
摘要:1 class Solution 2 { 3 public: 4 vector<int> twoSum(vector<int>& numbers, int target) 5 { 6 int l = 0,r = numbers.size() - 1; 7 while(l < r) 8 { 9 if(
阅读全文
摘要:1 class Solution 2 { 3 public: 4 //小数部分如果余数重复出现两次就表示该小数是循环小数了 5 string fractionToDecimal(int numerator, int denominator) 6 { 7 if(denominator==0) retu
阅读全文
摘要:1 class MinStack 2 { 3 stack<int> data; 4 stack<int> min_data; 5 public: 6 /** initialize your data structure here. */ 7 MinStack() {} 8 9 void push(i
阅读全文
摘要:1 //利用模板 2 3 //以最后一个值来划分 4 //如果比它小,在右边,更新r 5 //如果比它大,在左边,更新l 6 7 //由于有重复值的情况, 需要加入 mid 元素等于 hi 元素的情况 8 //此时应该将 hi 减 1 防止重复数字是最小元素 9 class Solution 10
阅读全文
摘要:1 //1、如果nums[i]为正 2 // min_val[i] = min(min_val[i - 1] * nums[i],nums[i]); 3 // max_val[i] = max(max_val[i - 1] * nums[i],nums[i]); 4 5 //2、如果nums[i]为
阅读全文
摘要:1 class Solution 2 { 3 public: 4 int evalRPN(vector<string>& tokens) 5 { 6 stack<int> s; 7 int n = tokens.size(); 8 for(int i = 0;i < n;i ++) 9 { 10 i
阅读全文
摘要:1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), next(NULL) {} 7 * };
阅读全文
摘要:1 //双向链表(同时存储key和val)+hash表 2 //很容易犯错的一点是:处理链表节点的同时不要忘了更新哈希表中对节点的映射。 3 class LRUCache 4 { 5 int n;//大小 6 list<pair<int,int>> li;//链表 7 unordered_map<i
阅读全文
摘要:1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x),
阅读全文

浙公网安备 33010602011771号