2016. 增量元素之间的最大差值
由于数据量较小,本题可以枚举
int maximumDifference(vector<int>& nums) {
int premin(nums[0]), result(-1);
for (int i = 1; i < nums.size(); i++) {
if (nums[i] > premin) {
if (result < nums[i] - premin) {
result = nums[i] - premin;
}
} else {
premin = nums[i];
}
}
return result;
}
int findClosestNumber(vector<int>& nums) {
int max(INT_MIN), idx(0);
for (int i = 0; i < nums.size(); ++i) {
int num = nums[i];
if (num > 0) {
num = -num;
}
if (num > max) {
max = num;
idx = i;
} else if (num == max) {
nums[idx] > nums[i]? : idx = i;
}
}
return nums[idx];
}
vector<int> finalPrices(vector<int>& prices) {
vector<int> result;
result.resize(prices.size());
for (int i = 0; i < prices.size(); i++) {
result[i] = prices[i];
for (int j = i+1; j < prices.size(); j++) {
if (prices[i] >= prices[j]) {
int pricesdiff = prices[i] - prices[j];
result[i] = result[i] > pricesdiff? pricesdiff: result[i];
break;
}
}
}
return result;
}
2248. 多个数组求交集
直接对所有数组进行基数排序即可
vector<int> intersection(vector<vector<int>>& nums) {
int numVec[1001]{0};
for (int i = 0; i < nums.size(); ++i) {
for (int j = 0; j < nums[i].size(); ++j) {
numVec[nums[i][j]]++;
}
}
vector<int> result;
for (int i = 0; i < 1001; ++i) {
if (numVec[i] == nums.size()) {
result.push_back(i);
}
}
return result;
}