只需要将原有数组覆盖就行,只有不等于 val 值的才会去覆盖,等于 val 值的就跳过覆盖,只需要记录覆盖了多少次就行
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// C intremoveElement(int* nums, int numsSize, int val){ if (val > 100 || val < 0) return0; if (numsSize > 100 || numsSize < 0) return0;
int newSize = 0; for (int i = 0; i < numsSize; i++) { if (nums[i] != val) { nums[newSize++] = nums[i]; } } return newSize; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14
// C intremoveElement(int* nums, int numsSize, int val){ int newSize = 0; int i = 0; while (i < numsSize) { if (nums[i] == val) { i++; continue; } nums[newSize++] = nums[i]; i++; } return newSize; }
// C doubleaverage(int* salary, int salarySize){ double sum = 0; double max = salary[0]; double min = salary[0]; for(int i = 0; i < salarySize; i++){ sum += salary[i]; max = max < salary[i] ? salary[i] : max; min = min > salary[i] ? salary[i] : min; } return (sum - max - min) / (salarySize - 2); }