資料結構與演算法《二》

2022-08-22 08:57:09 字數 462 閱讀 1602

真理只有乙個,它不在宗教中,而是在科學中。 ---達文西

給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。

說明:示例:

輸入: [2,2,1]

輸出: 1

由於對時間複雜度和空間有限制,顯然不能進行兩次遍歷和另開闢空間,這塊考察位運算,相同的兩個數做異或運算,結果為0,因為陣列中除了乙個元素只出現一次外,其他元素都出現兩次,如果把所有的數都異或,相同的數字異或為0,最後只剩下出現一次的數字,它和0異或,結果就是它本身。

code:

class solution 

return num;

}}

資料結構與演算法二

資料結構作為一門學科主要研究資料的各種邏輯結構和儲存結構,以及對資料的各種操作。因此,主要有三個方面的內容 資料的邏輯結構 資料的物理儲存結構 對資料的操作 或演算法 通常,演算法的設計取決於資料的邏輯結構,演算法的實現取決於資料的物理儲存結構。邏輯結構 是指資料物件中資料元素之間的相互關係。其實這...

資料結構與演算法(二)

函式的漸近增長 給定兩個函式 f n 和 g n 如果存在乙個整數n,使得對於所有的n n,f n 總是比g n 大,那麼我們說f n 的增長漸近快於g n 如圖 演算法時間複雜度的定義 在進行時間演算法分析時,語句總的執行次數t n 是關於問題規模n的函式,進而分析t n 隨n的變化情況並確定t ...

資料結構與演算法 二

佇列是一種特殊的線性表 線性結構 特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。佇列按照邏輯資料結構可以分為順序佇列和迴圈佇列....