242. Valid Anagram class Solution {public: bool isAnagram(string s, string t) { if (s.length() != t.length()) return false; int n = s.length(); unordered_map counts; for (int i = 0;
357. Count Numbers with Unique Digits class Solution {public: int countNumbersWithUniqueDigits(int n) { int ret=1; int product=1; for(int i=0,j=9;i<n;i++) { ret+=product*9; prod
171. Excel Sheet Column Number class Solution {public: int titleToNumber(string s) { int ret=0; for(auto ch : s) ret=ret*26+ch-'A'+1; return ret; }};
122. Best Time to Buy and Sell Stock II int maxProfit(vector &prices) { int ret = 0; for (size_t p = 1; p < prices.size(); ++p) ret += max(prices[p] - prices[p - 1], 0); return ret;}/*class Solution {public: i
100. Same Tree /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */clas
349. Intersection of Two Arrays class Solution {public: vector intersection(vector& nums1, vector& nums2) { unordered_set s(nums1.begin(),nums1.end()); vector ret; for(auto x : nums2) if(s.er
238. Product of Array Except Self class Solution {public: vector productExceptSelf(vector& nums) { int n=nums.size(); int fromBegin=1; int fromLast=1; vector res(n,1); for(int i=0;
283. Move Zeroes class Solution {public: void moveZeroes(vector& nums) { int first=0; while(first<nums.size()&&nums[first]) first++; int second=first+1; while(1)
.260. Single Number III class Solution {public: vector singleNumber(vector& nums) { int result=0; for(auto n : nums) result^=n; result=~(result-1)&result; vector ret={0,0};
226. Invert Binary Tree /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */clas
389. Find the Difference class Solution {public: char findTheDifference(string s, string t) { /*vector count(26,0); for(int i=0;i<s.size();i++) count[s[i]-'a']++; for(int i=0;i<t.size(
167. Two Sum II - Input array is sorted class Solution {public: vector twoSum(vector& numbers, int target) { int i=0; int j=numbers.size()-1; while(1) { int sum=numbers[i]+numbers[j];
104. Maximum Depth of Binary Tree /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */clas
258. Add Digits class Solution {public: int addDigits(int num) { return num-(num-1)/9*9; //return num?1+(num-1)%9:0; //return 1+(num-1)%9; //-1%9=-1 }};
136. Single Number class Solution {public: int singleNumber(vector& nums) { int result=0; for(auto iter=nums.begin();iter!=nums.end();iter++) result^=*iter; return result; }
.371. Sum of Two Integers class Solution {public: int getSum(int a, int b) { while(b) //直到没有进位 { int c=a^b; //先不管进位 b=(a&b)<<1; //进位 a=c; //到这里:相当于a为一个值,b为进位值。
292. Nim Game //如果是4的倍数,无论第一个人取?个,只要第二个人取(4-?)个,都是第二个人赢。所以,只要不是4的倍数,第一个人取完让剩下的是4的倍数,然后采取前面的策略就一定赢。class Solution {public: bool canWinNim(int n) { return n%4?true:false; }};
338. Counting Bits //原理:2(1*2+0)就是在1的二进制表示后面加0(即和1的位数相同),3(1*2+1)就是在1的二进制表示后面加1(即比1的位数多1),4(2*2+0)就是在2的二进制表示后面加0(即和2的位数相同),5(2*2+1)就是在2的二进制表示后面加1(即比2的位数多1),以此类推。class Solution {public: vector countBits(int num) {
344. Reverse String class Solution {public: string reverseString(string s) { reverse(s.begin(),s.end()); return s; /*char temp; int left=0; int right=s.size()-1;
计算机网络知识点汇总 1.小端:低字节在低地址。大端:高字节在低地址。我们知道网络上的数据流是字节流,对于一个多字节数值,在进行网络传输的时候,先传递哪个字节?也就是说,当接收端收到第一个字节的时候,它是将这个字节作为高位还是低位来处理呢?网络字节序(大端):收到的第一个字节被当作高位看待,这就要求发送端发送的第一个字节是高位。而在发送端发送数据时,发送的第一个字节是该数字在内存中起始地址(低地址)对应