intsumOddLengthSubarrays(int* arr, int arrSize) { int sum = 0; for (int left = 0; left < arrSize; left++){ for(int len = 1; len + left <= arrSize; len += 2){ int right = left + len - 1; for(int i = left; i <= right; i++){ sum += arr[i]; } } } return sum; }
283. 移动零
解题思路
只要不等于0的都往前覆盖,并记录下覆盖的次数,然后填0
代码
1 2 3 4 5 6 7 8 9 10 11 12
// C voidmoveZeroes(int* nums, int numsSize){ int count = 0; for(int i = 0; i < numsSize; i++){ if (nums[i] != 0) { nums[count++] = nums[i]; } } for(int i = count; i < numsSize; i++){ nums[i] = 0; } }
1672. 最富有客户的资产总量
解题思路
只需要使用一个临时变量来保存每组的总值,然后返回最大的
代码
1 2 3 4 5 6 7 8 9 10 11 12
// C intmaximumWealth(int** accounts, int accountsSize, int* accountsColSize){ int max = 0; for(int i = 0; i < accountsSize; i++){ int t = 0; for(int j = 0; j < *accountsColSize; j++){ t += accounts[i][j]; } max = max < t ? t : max; } return max; }