记录一些leetcode题目的小技巧
算法思路+实现
报错:
warning: control reaches end of non-void function
注意返回值
1.求众数
int key=nums[0];
count=1;
遍历:遇到同样的数count+1,否则count-1;
count=0时,key换成当下的数,count=1;
key即为众数;
2.求最大子序列
int sum=0;
不断加每个数,sum<0则sum=0;
sum跟max对比,循环完求得最大子序列和。
dp[0]=nums[0];
if(dp[i-1]>0)dp[i]=nums[i]+dp[i-1];
else dp[i]=nums[i];
dp每个值跟max对比
杨辉三角:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
每一行<vector> 在最前端添加0,然后数组自身v[i]=v[i]+v[i+1],保留末尾1 即可
异或操作 ^
0^n==n
n^n==0
such as:
a=2;
b=4;
int res=a^b; //res=6