Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.java
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].數據庫
package easy;
import java.util.HashMap;
/**
* 一遍hash表
* 複雜度分析:
* 時間複雜度:O(n)O(n), 咱們只遍歷了包含有 nn 個元素的列表一次。在表中進行的每次查找只花費 O(1)O(1) 的時間。
* 空間複雜度:O(n)O(n), 所需的額外空間取決於哈希表中存儲的元素數量,該表最多須要存儲 nn 個元素。
**/
public class TwoSum {
class Solution {
public int[] twoSum(int[] nums, int target) {
HashMap<Integer,Integer> hashMap = new HashMap();
for (int i=0;i<nums.length;i++){
if (hashMap.containsKey(target-nums[i])){
return new int[]{hashMap.get(target-nums[i]) , i};
}
hashMap.put(nums[i],i);
}
//return nums;
throw new IllegalArgumentException("No two sum solution");
}
}
}
複製代碼
eHarmony hooks up with Redis NoSQL database for hot storage安全
這篇文章主要講了美國最大的婚戀交友網站使用Redis來實現匹配功能等熱數據的實現,文章敘述了非關係型數據庫對於傳統的關係型數據庫的優點,該公司的架構師也作出了相關了的考慮分析。解釋了Redis在熱數據處理速度上的巨大優點,以及不一樣數據庫對應的不一樣應用場景。服務器
a. 客戶端發送一個鏈接請求給服務器。架構
b. 服務器將本身的證書,以及同證書相關的信息發送給客戶端。app
c. 客戶端檢查服務器送過來的證書是否和App內置證書相同。若是是,就繼續執行協議;若是不是則終止這次請求。學習
d. 接着客戶端比較證書裏的消息,例如域名和公鑰,與服務器剛剛發送的相關消息是否一致,若是是一致的,客戶端承認這個服務器的合法身份。網站
e. 服務器要求客戶發送客戶本身的證書。收到後,服務器驗證客戶端的證書,若是沒有經過驗證,拒絕鏈接;若是經過驗證,服務器得到用戶的公鑰。加密
f. 客戶端告訴服務器本身所可以支持的通信對稱密碼方案。spa
g. 服務器從客戶發送過來的密碼方案中,選擇一種加密程度最高的密碼方案,用客戶的公鑰加過密後通知客戶端。
h. 客戶端針對這個密碼方案,選擇一個通話密鑰,接着用服務器的公鑰加過密後發送給服務器。
i. 服務器接收到客戶端送過來的消息,用本身的私鑰解密,得到通話密鑰。
j. 服務器經過密鑰解密客戶端發送的被加密數據,獲得明文數據。