56 - I. 数组中数字出现的次数
生活随笔
收集整理的這篇文章主要介紹了
56 - I. 数组中数字出现的次数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
202–06-22
1.題目描述
一個整型數組 nums 里除兩個數字之外,其他數字都出現了兩次。請寫程序找出這兩個只出現一次的 數字。要求時間復雜度是O(n),空間復雜度是O(1)。2.題解
位運算3.代碼
class Solution { public:vector<int> singleNumbers(vector<int>& nums) {int len=nums.size();int ans=0;for (int i=0;i<len;i++){ans^=nums[i];}int t=ans&(-ans);int ans1=0,ans2=0;for (int i=0;i<len;i++){if (t&nums[i]){ans1^=nums[i];}else{ans2^=nums[i];}}vector<int> res={ans1,ans2};return res;} };總結
以上是生活随笔為你收集整理的56 - I. 数组中数字出现的次数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快速幂运算 《挑战程序设计竞赛》
- 下一篇: databinding在android