原创 LeetCode——第461題:漢明距離

題目: 兩個整數之間的漢明距離指的是這兩個數字對應二進制位不同的位置的數目。 給出兩個整數 x 和 y,計算它們之間的漢明距離。 注意: 0 ≤ x, y < 231. 示例: 輸入: x = 1, y = 4 輸出: 2 解釋: 1

原创 jquery練習——購物車

購物車練習總結 初學練習,收貨頗多。兩個方便,一部分是技術知識上的,一部分是開發思路上的。 整個練習的業務邏輯包括: 1.動態的通過按鈕添加商品,商品名價格等隨機產生 2.實現全選按鈕點擊事件(反選取消全選) 3.實現複選框點擊事件

原创 選擇排序和其簡單優化

以將一個數組排序爲升序結果爲例。 綜述: 選擇排序就是在排序時將數組分爲一個有序序列和一個無序序列,每次從無序序列中選出最小的數(或者最大的數)放在有序序列的結尾(開頭),這個有序序列是位於數組前部分(後部分),而在代碼中表現爲每次將無序

原创 歸併排序分析實現

算法思想: 對於一個待排序的數組,我們可以將其分成兩部分,先對這兩部分進行遞歸的歸併排序,然後在將這兩部分合並。 歸併排序算法運行軌跡 代碼實現思路: 思路1:採用自底向上的非遞歸方式實現。 思路2:採用自頂向下的遞歸方式實現。 優化方

原创 數組複製與深拷貝和淺拷貝

深淺拷貝針對如對象、數組之類的複雜類型。 就數組而言。 深拷貝 拷貝的數組變量和原來的數組變量是指向兩塊不同的空間,二者的操作互相不影響。 int[] a = new int[]{1,2,3,4,5}; int[] b = new in

原创 LeetCode——第121題:買股票的最佳時機

題目: 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多隻允許完成一筆交易(即買入和賣出一支股票),設計一個算法來計算你所能獲取的最大利潤。 注意你不能在買入股票前賣出股票。 示例 1: 輸入: [7,1,5,

原创 LeetCode——第70題:爬樓梯

題目: 假設你正在爬樓梯。需要 n 步你才能到達樓頂。 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢? 注意:給定 n 是一個正整數。 示例 1: 輸入: 2 輸出: 2 解釋: 有兩種方法可以爬到樓頂。 1

原创 LeetCode——第191題:位1的個數

參考鏈接 題目: 編寫一個函數,輸入是一個無符號整數,返回其二進制表達式中數字位數爲 ‘1’ 的個數(也被稱爲漢明重量)。 示例 : 輸入: 11 輸出: 3 解釋: 整數 11 的二進制表示爲 0000000000000000000

原创 LeetCode——第190題:顛倒二進制位

題目: 顛倒給定的 32 位無符號整數的二進制位。 示例: 輸入: 43261596 輸出: 964176192 解釋: 43261596 的二進制表示形式爲 00000010100101000001111010011100 ,

原创 直接插入排序和其優化

綜述: 插入排序同選擇排序一樣,將數組分爲兩個序列,每次從無序序列中拿出第一個元素插入到有序序列中,正常情況是在插入時先找出插入位置,在移動元素,在將元素插入到正確的位置。對於選擇排序的優化一種是可以減少查找插入位置的時間,利用二分查找;

原创 LeetCode——第268題:缺失的數字

題目: 給定一個包含 0, 1, 2, …, n 中 n 個數的序列,找出 0 .. n 中沒有出現在序列中的那個數。 示例 1: 輸入: [3,0,1] 輸出: 2 示例 2: 輸入: [9,6,4,2,3,5,7,0,1] 輸出:

原创 LeetCode——第204題:計數質數

題目: 兩個整數之間的漢明距離指的是這兩個數字對應二進制位不同的位置的數目。 給出兩個整數 x 和 y,計算它們之間的漢明距離。 注意: 0 ≤ x, y < 231. 示例: 輸入: x = 1, y = 4 輸出: 2 解釋: 1