雙創中心 三

2021-08-19 17:56:09 字數 2088 閱讀 8620

關於週日的演算法題的一些想法跟**:

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的訪問流量...