摘要:
1 class Solution { 2 public: 3 void sortColors(int A[], int n) { 4 auto swap = [](int &a, int &b){int t = a; a = b; b = t;}; 5 in... 阅读全文
摘要:
1 class Solution { 2 public: 3 int singleNumber(int A[], int n) { 4 int ones = 0, twos = 0, threes = 0; 5 for (int i = 0; i < n; ... 阅读全文
摘要:
You can use a hash map to record the frequencys. Or you can use bit operation.x ^ x = 0. So the only left is the one. 1 class Solution { 2 public: 3 ... 阅读全文
摘要:
I split it in the reverse way. So all the following code should do reverse way. 1 class Solution { 2 public: 3 vector splits(string s) { 4 ... 阅读全文
摘要:
You can use two array to record the zeros. Also you can do it in memory: 1 class Solution { 2 public: 3 void setZeroes(vector > &matrix) { 4 ... 阅读全文
摘要:
Regular binary search 1 class Solution { 2 public: 3 int searchInsert(int A[], int n, int target) { 4 int start = 0, end = n-1, mid = 0; 5... 阅读全文
摘要:
Just skip the duplicated ones. 1 class Solution { 2 public: 3 bool search(int A[], int n, int target) { 4 int start = 0, end = n-1, mid = ... 阅读全文
摘要:
Two condition need to equal:1. A[mid] >= A[start]. Because mid = (start + end)/2; it shifts left2. A[end] >= target. Since did not check A[end] now. 1... 阅读全文
摘要:
Actually, we are searching the right end of the target so:1. start could be same as end2. A[mid] > target, shift to left3. A[mid] searchRange(int A[]... 阅读全文
摘要:
Binary search. Just need to convert index. 1 class Solution { 2 public: 3 bool searchMatrix(vector > &matrix, int target) { 4 if (matrix.s... 阅读全文
摘要:
1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(i... 阅读全文
摘要:
1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), ne... 阅读全文
摘要:
This is a math trick. 1 class Solution { 2 public: 3 void rotate(vector > &matrix) { 4 auto swap = [](int &a, int &b){int t = a; a = b; b... 阅读全文
摘要:
Note:1. K might be very very large. So remember to module it with n.2. two range reverse (0, k-1), (k, n-1). 1 class Solution { 2 public: 3 void r... 阅读全文
摘要:
1 class Solution { 2 public: 3 int romanToInt(string s) { 4 int len = s.size(), result = 0; 5 for (int i = 0; i < len; i++) { 6 ... 阅读全文
摘要:
Reverse in place:1. reverse the whole sentence.2. reverse every word.We cant do it for I, because there are extra spaces in sentence. 1 class Solution... 阅读全文
摘要:
1 class Solution { 2 public: 3 void reverseWords(string &s) { 4 string result; 5 int len = s.size(); 6 for (int i = len-1... 阅读全文
摘要:
1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), ne... 阅读全文
摘要:
Same thing need to as :Whether m > n, m > list size, or n > list size 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * in... 阅读全文
摘要:
Remember to check overflows. 1 class Solution { 2 public: 3 int reverse(int x) { 4 int sign = x 0) { 7 if (result > (INT_MAX ... 阅读全文