目录
[75. 颜色分类 - 力扣(LeetCode)](#75. 颜色分类 - 力扣(LeetCode))
[1046. 最后一块石头的重量 - 力扣(LeetCode)](#1046. 最后一块石头的重量 - 力扣(LeetCode))
[1984. 学生分数的最小差值 - 力扣(LeetCode)](#1984. 学生分数的最小差值 - 力扣(LeetCode))
[389. 找不同 - 力扣(LeetCode)](#389. 找不同 - 力扣(LeetCode))
[2733. 既不是最小值也不是最大值 - 力扣(LeetCode)](#2733. 既不是最小值也不是最大值 - 力扣(LeetCode))
75. 颜色分类 - 力扣(LeetCode)
cpp
class Solution {
public:
void sortColors(vector<int>& nums) {
int p0=0;
int p1=0;
for(int i=0;i<nums.size();i++){
if(nums[i]==1){
swap(nums[i],nums[p1++]);
}
else if(nums[i]==0){
swap(nums[i],nums[p0]);
if(p0<p1){
swap(nums[i],nums[p1]);
}
p1++;
p0++;
}
}
}
};
1046. 最后一块石头的重量 - 力扣(LeetCode)
cpp
class Solution {
public:
int lastStoneWeight(vector<int>& stones) {
priority_queue<int> p;
for(int i=0;i<stones.size();i++){
p.push(stones[i]);
}
while(p.size()>1){
int a=p.top();
p.pop();
int b=p.top();
p.pop();
if(a!=b){
p.push(a-b);
}
}
if(p.size()==0){
return 0;
}
else {
return p.top();
}
}
};
1984. 学生分数的最小差值 - 力扣(LeetCode)
cpp
class Solution {
public:
int minimumDifference(vector<int>& nums, int k) {
sort(nums.begin(), nums.end());
int MIN = INT_MAX;
for (int i = 0; i < nums.size() - k + 1; i++) {
MIN = min(MIN, nums[k + i - 1] - nums[i]);
}
return MIN;
}
};
389. 找不同 - 力扣(LeetCode)
cpp
class Solution {
public:
char findTheDifference(string s, string t) {
int res=0;
for(int i=0;i<s.size();i++){
int k=s[i]-'a';
res^=k;
}
for(int i=0;i<t.size();i++){
int k=t[i]-'a';
res^=k;
}
char n=res+'a';
return n;
}
};
2733. 既不是最小值也不是最大值 - 力扣(LeetCode)
cpp
class Solution {
public:
int findNonMinOrMax(vector<int>& nums) {
if(nums.size()<=2)return -1;
int MIN=nums[0];
int MAX=nums[0];
for(int i=0;i<nums.size();i++){
MIN=min(MIN,nums[i]);
MAX=max(MAX,nums[i]);
}
for(int i=0;i<nums.size();i++){
if(nums[i]!=MIN&&nums[i]!=MAX){
return nums[i];
}
}
return -1;
}
};
