《程式設計師程式碼面試指南》在其他數都出現偶數次的陣列中找到出現奇數次的數
題目:
在一個數組中只有一個數出現了一次 其他數出現兩次 請找出那個只出現一次的數字
解答:
整數n與0異或的結果是n。n與n異或的結果是0。
public class GetOnlyOne { public static int getNumber(int[] array){ int flag = 0; for(int i : array){ flag = flag ^ i; } return flag; } public static void main(String[] args) { int[] array = {1,1,2,2,3,4,4,5,5}; System.out.println(getNumber(array)); } }
參考資料:《程式設計師面試程式碼指南》左程雲 著
相關推薦
《程式設計師程式碼面試指南》在其他數都出現偶數次的陣列中找到出現奇數次的數
題目: 在一個數組中只有一個數出現了一次 其他數出現兩次 請找出那個只出現一次的數字 解答: 整數n與0異或的結果是n。n與n異或的結果是0。 public class GetOnlyOne { public static int getNumber(
《程式設計師程式碼面試指南》醜數問題——java實現
醜數問題 題目描述: 規定1是醜數,其他的數如果只含有2或3或5的因子,那麼這個 數也是醜數。 比如依次的醜數為:1,2,3,4,5,6,8,9,10,12,15… 求第n個醜數 題目難度: easy 題目思路: 思路一: 本題要求出第n個醜數,分為兩個步驟
程式設計師程式碼面試指南 —— 連結串列問題(四)
題目:將單鏈表的每K個節點之間逆序 描述:給定一個單鏈表的頭結點head,實現一個調整單鏈表的函式,使得每K個節點之間逆序,如果最後不夠K個節點一組,則不調整最後幾個節點 例如: 連結串列 1—>2—>3—>4—>5—>6—>7—>8—>nul
程式設計師程式碼面試指南 —— 連結串列問題(三)
題目:複製含有隨機指標節點的連結串列 描述:有一種連結串列節點類描述如下: public class Node { public int value; public Node next; public Node rand; public Node(int data){ this.value
程式設計師程式碼面試指南 —— 連結串列問題(二)
題目:給定一個連結串列的頭節點head,請你判斷是否為迴文結構 例如:1 —> 2 —> 1 ture 1 —> 2 —> 2 —> 1 true 1 —> 2 —> 3 flase 思路:可以使用棧這種資料結構,可以將整個單向連結串列分為前半區和後
程式設計師程式碼面試指南 —— 連結串列問題(一)
注:題目來自於《程式設計師程式碼面試指南:IT名企演算法與資料結構題目最優解》,該書是左程雲老師的著作,值得推薦,這裡僅是記錄一下該書中題目的解法和個人理解 題目一:在單鏈表和雙鏈表中刪除倒數第K個節點 描述: 分別實現兩個函式,一個可以刪除單鏈表中倒數第K個節點,另一個可以刪除雙鏈
程式設計師程式碼面試指南 —— 棧和佇列(三)
注:題目來自於《程式設計師程式碼面試指南:IT名企演算法與資料結構題目最優解》,該書是左程雲老師的著作,值得推薦,這裡僅是記錄一下該書中題目的解法和個人理解 題目一:生成視窗最大值陣列 問題描述: 有一個整型陣列arr和一個大小為w的視窗從陣列的最左邊滑到最右邊,視窗每次向右邊滑
程式設計師程式碼面試指南 —— 棧和佇列(二)
注:題目來自於《程式設計師程式碼面試指南:IT名企演算法與資料結構題目最優解》,該書是左程雲老師的著作,值得推薦,這裡僅是記錄一下該書中題目的解法和個人理解 題目:貓狗佇列 寵物、貓、狗的類如下: public class Pet { private String typ
程式設計師程式碼面試指南 —— 棧和佇列(一)
注:題目來自於《程式設計師程式碼面試指南:IT名企演算法與資料結構題目最優解》,該書是左程雲老師的著作,值得推薦,這裡僅是記錄一下該書中題目的解法和個人理解 一:設計一個有getMin功能的棧 題目:在實現棧的基本功能的基礎上,再實現返回棧中的最小元素操作 思路:可以建立一個輔助
程式設計師程式碼面試指南:IT名企演算法與資料結構題目最優解
網站 更多書籍點選進入>> CiCi島 下載 電子版僅供預覽及學習交流使用,下載後請24小時內刪除,支援正版,喜歡的請購買正版書籍 電子書下載(皮皮雲盤-點選“普通下載”) 購買正版 封頁 編輯推薦 如何在IT名企的面試中脫穎
《程式設計師程式碼面試指南》 矩陣最長遞增路徑問題——java實現
矩陣最長遞增路徑問題 題目描述: 給定一個整數矩陣matrix,每個位置你可以向左、右、下、上移動,找到其中最長的遞增路徑。 例如: matrix = [ [9,9,4], [6,6,8], [2,1,1] ] 返回4 最長路徑是[1, 2, 6, 9]. m
《程式設計師程式碼面試指南》求兩個字串最長公共子串
/** * 題目: * 給定兩個字串 str1 和 str2,返回兩個字串的最長公共子串。 *舉例: * str1 = "1AB2345CD",str2 = "12345EF",返回"2345"。 */ /** * 解答: * 經典動態規劃的方法可以做到時間複
《程式設計師程式碼面試指南》在有序但含有空的陣列中查詢字串
題目: 給定一個字串陣列strs[],在strs中有些位置為null,但在不為null的位置上,其字串是按照字典順序有小到大依次出現的。 再給定一個字串str返回str在strs中出現的最左的位置。 舉例: strs=[null,"a",null,"a",null
《程式設計師程式碼面試指南》判斷t1樹是否包含t2樹的全部拓撲結構
題目: 給定彼此獨立的兩棵樹頭結點分別為t1和t2,判斷t1樹是否包含t2樹的全部拓撲結構。 t1樹包含t2樹的全部拓撲結構,所以返回true。 解答: 如果t1中某棵子樹節點的值與t2頭節點的值一樣,則從這兩個頭結點開始匹配,匹配的每一步都讓t1上的節點跟著t2
《程式設計師程式碼面試指南》給定一個整數n,返回從1到n的數字中1出現的次數
題目: 給定一個整數n,返回從1到n的數字中1出現的次數。 例如: n=5,1~n為1,2,3,4,5。那麼1出現1次所以返回1。 n=11,1~n為1,2,3,4,5,6,7,8,9,10,11。那麼1出現的次數為1(1,10,11)返回4。 import j
《程式設計師程式碼面試指南》 整數的二進位制表示式中有多少1
題目: 給定一個32位整數n,可為0,可為正,也可以為負,返回該整數二進位制表示式中1的個數。 解答: 最簡單解法。整數n每次進行無符號右移一位,檢查最右邊的bit是否為1來進行統計。 public static int count1(int n){
《程式設計師程式碼面試指南》 給定一個整型矩陣 matrix 請按照轉圈的方式列印它
題目 給定一個整型矩陣 matrix ,請按照轉圈的方式列印它。 例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 列印結果為:1,2,3,4,8
《程式設計師程式碼面試指南》將正方形矩陣順時針轉動90°
題目 給定一個N×M的矩陣 matrix,把這個矩陣調整為順時針轉動90°後的形式。 例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
《程式設計師程式碼面試指南》二叉搜尋樹轉為雙向連結串列——java實現
二叉搜尋樹轉為雙向連結串列 題目描述: 把一棵搜尋二叉樹,轉化成有序的雙向連結串列。 題目難度: medium 題目思路: 思路一: 將二叉樹轉為雙向連結串列,其中指標對應關係為:二叉樹的左右指標分別對應雙向連結串列的前後指標。 採用遞迴的方式分別返回遍歷結果
《程式設計師程式碼面試指南》二叉樹的序列化和反序列化——java實現
二叉樹的序列化和反序列化 題目描述: 二叉樹被記錄成檔案的過程叫作二叉樹的序列化,通過檔案內容重建原來二叉樹的過程叫作二叉樹的反序列化。 給定一棵二叉樹的頭節點head,並已知二叉樹節點值的型別為32位整型。請設計一種二叉樹序列化和反序列化的方案,並用程式碼實現