竞赛链接:https://leetcode-cn.com/contest/weekly-contest-141
1.复写零:
从前往后遍历数组,遇到0就把一个新的0插入到该0的后面,然后后面的元素依次右移。需要注意的是,为保证不一直插入0,插入新的0后要将i加两次1(for循环中有一次然后再自加一次)。
上AC代码:
void duplicateZeros(int* arr, int arrSize){
int i,j;
for(i=0;i<arrSize;i++)
{
if(arr[i]==0)
{
for(j=arrSize-1;j>i+1;j--)
{
if(j-1>=0)
arr[j]=arr[j-1];
}
if(i+1<arrSize)
arr[i+1]=0;
i++;
}
}
}
2.受标签影响的最大值:
这道题虽然看着很麻烦,其实是纸老虎。贪心策略。自定义一个结构体将values和labels绑在一起&#