还是每日一题。
题解很巧,我根本想不到。
class Solution {
public:
int minOperations(vector<int>& nums, int k) {
int count;
int mn=nums[0]; //接下来查找nums数组中最小值
for(int i=1;i<nums.size();i++)
{
if(nums[i]<mn)
{
mn=nums[i];
}
}
//找到最小值之后分类讨论即可
if(k>mn)
{
count=-1; //此时不能把数组中全部元素变为k
}
//使用集合存储,找不同元素的个数
unordered_set<int> st(nums.begin(),nums.end());
if(k==mn)
{
count=st.size()-1;
}
if(k<mn)
{
count=st.size();
}
return count;
}
};
之后做了一道sort排序题和一道bfs题。注意到bfs题用来求地图迷宫的最短路径。