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. 服务器经过密钥解密客户端发送的被加密数据,获得明文数据。