關於週日的演算法題的一些想法跟**:
1、給定乙個整數陣列和乙個目標值,找出陣列中和為目標值的
兩個數。
你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。
示例:
給定 nums = [2, 7, 11, 15], target = 9
因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
分析:
第一眼看到這個題目太簡單了,根本就是送分的,直接就雙重迴圈直接遍歷就好了麼,顯然既然這個是演算法訓練題就應該有一些提高,不應該只是簡單的便利就完事了,這樣**的時間複雜度就會很高,去面試人家的公司也不會聘用這樣的小白。
所以:方法一:雙重迴圈遍歷
既然大家都會,我就不在這裡占用時間來寫,
方法二:
首先是乙個特例,對於乙個公升序的陣列來說,可以兩端向中間進行查詢,即開始元素跟結束元素進行相加進行判斷,當兩數之和小於目標數,開始元素後移,如果兩數之和大於目標數,則結尾元素後移。
但是這個只是乙個特例,對於無序陣列來說,首先應對陣列進行排列,記錄陣列的原始下標,然後對選出的元素與原始下標進行一一對應,哎不說了,有點麻煩,看**吧
public int sum(int nums, int target) ;
node tmp = new node[nums.length];
for (int i = 0; i < nums.length; i++)
arrays.sort(tmp);
int lo = 0;
int hi = nums.length - 1;
while (lo < hi) else
break;
} else if (tmp[lo].val + tmp[hi].val > target) else
}return result;
方法通過o(n)的時間複雜度完成要求。第一遍o(n)的演算法將每個資料a對應的target-a建立查詢的資料結構,例如hash表;第二遍遍歷時,查詢每個數是否在hash表中,每次查詢時間複雜度為o(1),總的時間複雜度是o(n)。但是hash表將需要一定的儲存空間,為了節省空間,我們可以採用bitmap的方法來最大化的壓縮空間複雜度。
class solution
hashmaphashmap = new hashmap();
for (int i = 0; i < nums.length; i++) ;
}hashmap.put(target - nums[i], i);
//存入當前值所需要的數值,比如target為5,當前值為1,他需要4,才能得到目標值。
}return null;
}}
2、
給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。
你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。
示例:
輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
輸出:7 -> 0 -> 8
原因:342 + 465 = 807
分析:本題其實是乙個大數相加問題,題目本身難度不大,需要考慮以下幾個方面: 1. 設計好資料結構,反序儲存數字,如數字932
儲存為2 -> 3 -> 9
;
就是應該注意一下幾點:
鍊錶對應結點相加時增加前乙個結點的進製,並儲存下乙個結點的進製;
兩個鍊錶長度不一致時,要處理較長鍊錶剩餘的高位和進製計算的值;
如果最高位計算時還產生進製,則還需要新增乙個額外結點。
則具體的**如下
class solution
if (c2 != null)
d.next = new listnode(sum % 10);
d = d.next;
}if (sum / 10 == 1)
d.next = new listnode(1);
return sentinel.next;
}}
大話資料中心雙活
投資界有一句至理名言 不要把雞蛋放在同乙個籃子裡 說的是投資需要分解風險,以免孤注一擲失敗之後造成巨大的損失。同樣近年來自然災害的頻發為各行業的安全敲醒了警鐘,對於it系統來說如何通過災備保證系統安全及業務連續性成為廣大it人關注的問題,而雙活資料中心則是熱門的解決方案。但雙活真正能夠實現業務的零中...
「兩地三中心」和「雙活」
同城 容災 是在同城或相近區域內 200k m 建立兩個資料中心 乙個為資料中心,負責日常生產執行 另乙個為災難備份中心,負責在災難發生後的應用系統執行。同城災難備份的資料中心與災難備份中心的距離比較近,通訊線路質量較好,比較容易實現資料的同步 複製 保證高度的資料完整性和資料零丟失。同城災難備份一...
資料中心如何備戰雙11
轉眼間,一年一度的雙11網上購物狂歡節又要到了,這個本來最初只有 推出的網上 活動,如今已經演變成為所有網購 的統一 節日。雙11是全年網路購物最集中的時間段,幾乎是平日購物量的數十倍甚至上百倍,每秒鐘都會產生上千萬筆的交易,不僅給傳遞 倉儲造成壓力,尤其給這些網購 造成了很大壓力。雙11的訪問流量...