国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

137. Single Number II(C++)

2019-11-06 06:32:37
字體:
來源:轉載
供稿:網友

題目:

Given an array of integers, every element appears three times except for one, which appears exactly once. Find that single one.

Note:

Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

翻譯

給定一個整數數組,每個元素出現三次,除了一個,它只出現一次。 找到這單獨的一個。

注意:

您的算法應具有線性運行時復雜性。 你能實現它,而不使用額外的內存。

思路:

設置mask用來比對每一位上的數是否出現多余1,一步步還原只有一個的那個數。

解答:

class Solution {public: int singleNumber(vector<int>& nums) { int ret = 0; int mask = 1; while (mask) { int countOne = 0; for (int i = 0; i < nums.size(); i++) { if (nums[i] & mask)//獲得與mask相應位上的值 countOne++; } if (countOne % 3 == 1) ret |= mask; mask <<= 1;//每回合mask進位 } return ret;}};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 蒙阴县| 磴口县| 辽阳市| 方山县| 名山县| 谢通门县| 海口市| 临泉县| 浦北县| 环江| 吴忠市| 牡丹江市| 湖北省| 平乐县| 剑河县| 萨嘎县| 武宣县| 临安市| 仪陇县| 固镇县| 丘北县| 沂源县| 武威市| 七台河市| 东兰县| 寻乌县| 秭归县| 三亚市| 利川市| 恩平市| 唐河县| 廉江市| 台安县| 嘉兴市| 和林格尔县| 读书| 日照市| 淮南市| 平果县| 元江| 永春县|