ARTS 打卡计划第一周 04/21

ARTS 打卡计划第一周 04/21

Algorithm

TwoSum

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

example:

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");
        }
    }
}
复制代码

提交结果

TwoSum
TwoSum

Review

eHarmony hooks up with Redis NoSQL database for hot storage安全

这篇文章主要讲了美国最大的婚恋交友网站使用Redis来实现匹配功能等热数据的实现,文章叙述了非关系型数据库对于传统的关系型数据库的优点,该公司的架构师也作出了相关了的考虑分析。解释了Redis在热数据处理速度上的巨大优点,以及不一样数据库对应的不一样应用场景。服务器

Tips

学习双向认证流程
  • a. 客户端发送一个链接请求给服务器。架构

  • b. 服务器将本身的证书,以及同证书相关的信息发送给客户端。app

  • c. 客户端检查服务器送过来的证书是否和App内置证书相同。若是是,就继续执行协议;若是不是则终止这次请求。学习

  • d. 接着客户端比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,若是是一致的,客户端承认这个服务器的合法身份。网站

  • e. 服务器要求客户发送客户本身的证书。收到后,服务器验证客户端的证书,若是没有经过验证,拒绝链接;若是经过验证,服务器得到用户的公钥。加密

  • f. 客户端告诉服务器本身所可以支持的通信对称密码方案。spa

  • g. 服务器从客户发送过来的密码方案中,选择一种加密程度最高的密码方案,用客户的公钥加过密后通知客户端。

  • h. 客户端针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。

  • i. 服务器接收到客户端送过来的消息,用本身的私钥解密,得到通话密钥。

  • j. 服务器经过密钥解密客户端发送的被加密数据,获得明文数据。

Share

一文读懂Https的安全性原理、数字证书、单项认证、双项认证等

相关文章
相关标签/搜索