您好,登錄后才能下訂單哦!
這篇“如何使用java查看只出現(xiàn)一次的數(shù)字”除了程序員外大部分人都不太理解,今天小編為了讓大家更加理解“如何使用java查看只出現(xiàn)一次的數(shù)字”,給大家總結(jié)了以下內(nèi)容,具有一定借鑒價(jià)值,內(nèi)容詳細(xì)步驟清晰,細(xì)節(jié)處理妥當(dāng),希望大家通過這篇文章有所收獲,下面讓我們一起來看看具體內(nèi)容吧。
給定一個(gè)整數(shù)數(shù)組 nums
,其中恰好有兩個(gè)元素只出現(xiàn)一次,其余所有元素均出現(xiàn)兩次。找出只出現(xiàn)一次的那兩個(gè)元素。
示例 :
輸入: 輸出:
答案:
1public int[] singleNumber(int[] nums) {
2 int diff = 0;
3 for (int num : nums) {
4 diff ^= num;
5 }
6 diff &= -diff;
7 int[] rets = {0, 0};
8 for (int num : nums) {
9 if ((num & diff) == 0) {
10 rets[0] ^= num;
11 } else {
12 rets[1] ^= num;
13 }
14 }
15 return rets;
16}
解析:
這題解法也比較多,這里只列出了這一種解法,如果想了解更多,可以參照前面兩道題的解法。題目說了只有兩個(gè)數(shù)出現(xiàn)了一次,其他的都出現(xiàn)了2次,我們把所有值都異或一遍,異或的結(jié)果就是那兩個(gè)只出現(xiàn)一次的異或值,因?yàn)槌霈F(xiàn)兩次的異或結(jié)果都為0。因?yàn)檫@兩個(gè)值不相同,所以他們的異或結(jié)果肯定不為0,也就是說這個(gè)結(jié)果轉(zhuǎn)化為二進(jìn)制的某一位上肯定有1,我們就根據(jù)這個(gè)1可以把數(shù)組分為兩個(gè)部分,并且這兩個(gè)只出現(xiàn)一次的肯定不會(huì)在同一組,根據(jù)這個(gè)特性我們很容易就能找到這兩個(gè)值。
Java主要應(yīng)用于:1. web開發(fā);2. Android開發(fā);3. 客戶端開發(fā);4. 網(wǎng)頁開發(fā);5. 企業(yè)級(jí)應(yīng)用開發(fā);6. Java大數(shù)據(jù)開發(fā);7.游戲開發(fā)等。
感謝您的閱讀,希望您對(duì)“如何使用java查看只出現(xiàn)一次的數(shù)字”這一關(guān)鍵問題有了一定的理解,具體使用情況還需要大家自己動(dòng)手實(shí)驗(yàn)使用過才能領(lǐng)會(huì),快去試試吧,如果想閱讀更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。