Given an array of integers, every element appears three times except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
1 2 3 4 5 6 7 8 9 10 11 12 |
class Solution { public: int singleNumber(vector<int>& nums) { sort(nums.begin(), nums.end()); for(int i = 0; i <= nums.size() - 4; i = i + 3) { if(nums[i] != nums[i + 2]) { return nums[i]; } } return nums[nums.size() - 1]; } }; |
❤ 点击这里 -> 订阅《PAT | 蓝桥 | LeetCode学习路径 & 刷题经验》by 柳婼