这是个算法
对的对的
这里只会有 煮啵所完成的算法题的记录
愿对你有帮助 )
目录
移动零

for(int cur = 0, dest = -1 ; cur < nums.length;cur++){
if(nums[cur] != 0){
dest++;
int tmp = nums[cur];
tmp = nums[dest] ;
nums[dest] = nums[cur];
nums[cur] = tmp;
}
}
复写零

int cur = 0 ;
int dest = -1;
int n = arr.length;
while(cur < n){
if(arr[cur] != 0){
dest++;
}else{
dest+=2;
}
if(dest >= n -1 )
break;
cur++;
}
//2.dest越界 处理边界
if(dest == n){
arr[n - 1] = 0;
cur --;
dest -= 2;
}
while(cur != -1){
if(arr[cur] != 0){
arr[dest--] = arr[cur--];
}else{
arr[dest --] = 0;
arr[dest --] = 0;
cur--;
}
}
快乐数

public int getNum(int n){
int sum = 0;
while(n != 0){
int n1 = n%10;
sum += n1 *n1;
n = n / 10;
}
return sum;
}
int slow = n;
int fast = getNum(n);
while(slow != fast){
slow = getNum(slow);
fast =getNum(getNum(fast)) ;
}
// if(slow == 1)
// return true;
// return false;
return slow == 1;
盛最多水的容器

int left = 0;
int right = height.length - 1;
int ret = 0;
while(left != right){
int v = Math.min(height[left],height[right]) * (right - left);
ret = Math.max(ret,v);
if(height[right] < height[left])
right--;
else
left++;
}
return ret;