这个题目比较简单,做的挺快的。
1class Solution { 2public: 3 int findFinalValue(vector<int>& nums, int original) { 4 //1.对数组进行排序 5 sort(nums.begin(),nums.end()); 6 //2.遍历排序后的数组 7 for (int num : nums) { 8 //3.如果当前数字等于original 9 if (num == original) { 10 //4.将original翻倍 11 original = 2 * original; 12 } 13 } 14 //5.返回最终的original值 15 return original; 16 } 17};
- 排序的时间复杂度:
sort函数的时间复杂度是 O(N log N),其中 N 是数组的大小。 - 遍历的时间复杂度:
for循环的时间复杂度是 O(N)。 - 总体时间复杂度:O(N log N)。
《2025.11.19 力扣每日一题》 是转载文章,点击查看原文。
