Problem: 1509. 三次操作后最大值与最小值的最小差若n4则直接返回0然后排序的只有4种情况的第一种nums[n-4] - nums[0]最后面3个修改成nums[n-4]第二种nums[n-1] - nums[3]最前面三个修改成nums[3]第三种nums[n-2] - nums[2]最前面2个修改成nums[2]最后面1个修改成nums[n-2]第四种nums[n-3] - nums[1]最前面1个修改成nums[1]最后面两个修改成nums[n-3]其他情况最大值和最小值的差都会比最小差更大Codeclass Solution { public: int minDifference(vectorint nums) { int n nums.size(); if( n 4 ) return 0; sort(nums.begin(), nums.end()); return min({nums[n-4] - nums[0], nums[n-1] - nums[3], nums[n-2] - nums[2], nums[n-3] - nums[1]}); } };
leetcode 1509. 三次操作后最大值与最小值的最小差
Problem: 1509. 三次操作后最大值与最小值的最小差若n4则直接返回0然后排序的只有4种情况的第一种nums[n-4] - nums[0]最后面3个修改成nums[n-4]第二种nums[n-1] - nums[3]最前面三个修改成nums[3]第三种nums[n-2] - nums[2]最前面2个修改成nums[2]最后面1个修改成nums[n-2]第四种nums[n-3] - nums[1]最前面1个修改成nums[1]最后面两个修改成nums[n-3]其他情况最大值和最小值的差都会比最小差更大Codeclass Solution { public: int minDifference(vectorint nums) { int n nums.size(); if( n 4 ) return 0; sort(nums.begin(), nums.end()); return min({nums[n-4] - nums[0], nums[n-1] - nums[3], nums[n-2] - nums[2], nums[n-3] - nums[1]}); } };