一、删除排序数组中的重复项 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 例如:[1,1,2],输出[1,2] int removeDuplicates(int* nums, int numsSize){
int j = 1;
for(int i = 1; i < numsSize; i ++){
if(nums[i] == nums[i - 1]){
continue;
} else{
nums[j] = nums[i];
j++;
}
}
return j;
}
二、买卖股票的最佳时期 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 例如:[7,1,5,3,6,4],输出:7。(第二天1元买入,第三天5元卖出。第四天3元买入,第五天6元卖出。净赚4+3=7)
|
|