ARTS第十一周
受辞职考研和新冠肺炎疫情影响,一直没更。遗憾,数学和专业课再高点就有戏了。继续。
1.Algorithm:每周至少做一个 leetcode 的算法题
2.Review:阅读并点评至少一篇英文技术文章
3.Tip:学习至少一个技术技巧
4.Share:分享一篇有观点和思考的技术文章
以下是各项的情况:
Algorithm
回顾第一周题目
之前使用的暴力法,思路就是去找 taget - nums[i] 然后返回
class Solution {
public int[] twoSum(int[] nums, int target) {
for (int i = 0; i < nums.length; i++) {
for (int j = i + 1; j < nums.length; j++) {
if (nums[j] == target - nums[i]) {
return new int[] { i, j };
}
}
}
throw new IllegalArgumentException("No two sum solution");
}
}
现在考研后,应该考虑去分析时间和空间复杂度
- 时间复杂度:
对于每个元素,通过遍历数组的其余部分来寻找它所对应的目标元素,每次将耗费 O(n)的时间。因为嵌套,故时间复杂度为 O(n^2)
- 空间复杂度:O(1)。
不使用暴力法,那么用什么呢?
需要一种更有效的方法来检查数组中是否存在目标元素,哈希表(保持数组中的每个元素与其索引相互对应)。
可以将查找时间从O(n)降低到 O(1)。
具体:使用了两次循环。在第一次循环中,将每个元素的值和它的索引添加到表。之后在第二次循环中,将检查每个元素所对应的目标元素(target - nums[i]target−nums[i])是否存在于表中,代码如下:
Java:

public int[] twoSum(int[] nums, int target) {
Map<Integer,Integer> map = new HashMap<>();
for(int i=0 ; i < nums.length ; i++){
map.put(nums[i],i);
}
for (int i = 0;i < nums.length; i++){
int complement = target - nums[i];
if (map.containsKey(complement)) {
return new int [] { i , map.get(complement)};
}
}
throw new IllegalArgumentException("No two sum solution");
}

JS:

const twoSum = function(nums, target) {
const comp = {};
for(let i=0; i<nums.length; i++){
if(comp[nums[i] ]>=0){
return [ comp[nums[i] ] , i]
}
comp[target-nums[i]] = i
}
};

分析时间和空间复杂度
- 时间复杂度:
因为第一次需要遍历全部放入表中,故第一次时间复杂度 O(n)。而对于每个元素,通过遍历数组的其余部分来寻找它所对应的目标元素,每次将耗费 O(1)的时间。故总时间复杂度为 O(n)
- 空间复杂度:O(1)。
所以,总体分析后,理解了为什么哈希表会节省本机资源。这也是数据库,组件solr喜欢用哈希表的一个重要原因。
Review
分享 Josh Hug 的 CS61B课程
最近在看josh的数据结构,理清思路非常有帮助。比起以前听的课,很有脉络,自成体系 。大概理了下他的思路,后面直接在YouTube上去搜索Josh Hug。基本是按这个流程走的

Tip
简单JMS(Just My Socks )使用指南
什么是 obfs (simple-obfs)?
obfs (simple-obfs) 是一个设计用于混淆 Ssocks 流量的工具,其原理是在 Ss 流量前面添加一层加密,以伪装成是在正常的访问网站,obfs 的实现有两种方式,一种 HTTP,另外一种是 TLS。
而 Just My Socks 支持的是 TLS 方式,此伪装性更加隐蔽,所以安全性更高。
由于 obfs 混淆相关并没有一致的 QR 链接等协商方式,所以你得自己必须得手动来配置选项,是不能直接快速扫描二维码或者添加链接方式导入来使用的。
总结一下,就是封锁严重,为了更加安全隐蔽,Just My Socks 启用了 obfs 混淆,现在三、四组服务器需要安装插件才能正常连接。
目前 不建站的情况下,用别人的机场会方便点,所以选用JMS 。 1 , 2 , 5 组直接用QR去扫码或者复制链接进V2或者小飞机 都比较方便 。 主要记载遇到的坑 ,之前参考的博客
https://cokebar.info/archives/1988
但不能ping通。
记录下我的解决方法 :
一、直接通过官方提供的下载地址下载安装



二、安装插件和填写参数
下载解压到小飞机目录
在服务器配置界面,选择支持 obfs 混淆的节点,填入参数即可

插件:obfs-local 插件选项:obfs=tls (复制)
Share
这周热点是瑞幸咖啡,推荐个观点
https://www.fool.com/investing/2020/02/04/why-luckin-coffee-stock-popped-today.aspx 谈到中国概念股票,投资者常常担心欺诈性数字。但是以后,这种情况会变得更糟。Luckin Coffee管理层发现了问题,并暂停了包括Liu在内的涉案人员,并对其结果进行了独立验证。也就是说,要确定该丑闻的严重程度还需要花费一些时间,甚至需要更长的时间才能恢复破碎的投资者信心。 对国内来说,并不算个好事。以后,中概股会更难。
ARTS第十一周的更多相关文章
- 第十一周PSP
第十一周PSP 工作周期:11.24-12.1 本周PSP: C类型 C内容 S开始时间 ST结束时间 I中断时间 T净时间(分) 11月29 文档 写随笔 19:00min 19:30min ...
- 201521123061 《Java程序设计》第十一周学习总结
201521123061 <Java程序设计>第十一周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 本周学习的是如何解决多线程访问中的互斥 ...
- 201521123072《java程序设计》第十一周学习总结
201521123072<java程序设计>第十一周学习总结 1. 本周学习总结 2. 书面作业 本次PTA作业题集多线程 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问 ...
- 201521123038 《Java程序设计》 第十一周学习总结
201521123038 <Java程序设计> 第十一周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多 ...
- 201521123122 《java程序设计》第十一周学习总结
## 201521123122 <java程序设计>第十一周实验总结 ## 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 其实这周也没讲多少内容,所 ...
- 201621123040《Java程序设计》第十一周学习总结
1.本周学习总结 1.1以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2.书面作业 2.1源代码阅读:多线程程序BounceThread 2.1.1BallRunnable类有什么用?为什 ...
- 杨其菊/常惠琢《面向对象程序设计(java)》第十一周学习总结
<面向对象程序设计>第十一周学习总结 第一部分:理论知识 JAVA的集合框架 JAVA的集合框架实现对各种数据结构的封装,以降低对数据管理与处理的难度. 所谓框架就是一个类库的集合,框 ...
- 2017-2018-2 1723《程序设计与数据结构》第十一周作业 & 实验三 & (总体)第三周结对编程 总结
作业地址 第十一次作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1933 (作业界面已评分,可随时查看,如果对自己的评分有 ...
- “2017面向对象程序设计(Java)第十一周学习总结”存在问题的反馈及教学安排
“2017面向对象程序设计(Java)第十一周学习总结”存在问题的反馈及教学安排1.“提出表扬的同学:姜依萍,王雪玲,徐楠,相文君,赵晓未提交作业的同学:任红强,王瑞强,宗鹏新,扎西才让,布旦刀杰,范 ...
随机推荐
- 危险!水很深,让叔来 —— 谈谈命令查询权责分离模式(CQRS)
多年以前,那时我正年轻,做技术如鱼得水,甚至一度希望自己能当一辈子的一线程序员. 但是我又有两个小愿望想要达成:一个是想多挣点钱:另一个就是对项目的技术栈和架构选型能多有点主动权. 多挣点钱是因为当时 ...
- TOF与结构光技术分析
TOF与结构光技术分析 一.概述 结构光(Structuredlight),通常采用特定波长的不可见的激光作为光源,它发射出来的光带有编码信息,投射在物体上,通过一定算法来计算返回的编码图案的畸变来得 ...
- Jmeter(五十二) - 从入门到精通高级篇 - jmeter之跨线程组传递参数(详解教程)
1.简介 之前分享的所有文章都是只有一个线程组,而且参数的传递也只在一个线程组中,那么如果需要在两个线程组中传递参数,我们怎么做呢?宏哥今天就给小伙伴或者童鞋们讲解一下,如何实现在线程组之间传递参数. ...
- springmvc——基于xml的异常映射和基于注解的异常映射
SpringMVC提供了基于XML和基于注解两种异常映射机制.这两种异常映射不能够只使用一个,他们需要一起使用.因为有些异常是基于注解异常映射捕获不到的. 在springmvc中,一个请求如果是由&l ...
- HDFS 05 - HDFS 常用的 Java API 操作
目录 0 - 配置 Hadoop 环境(Windows系统) 1 - 导入 Maven 依赖 2 - 常用类介绍 3 - 常见 API 操作 3.1 获取文件系统(重要) 3.2 创建目录.写入文件 ...
- APP测试的主要内容
一.功能性测试:依据需求相关的文档编写测试用例进行测试 二.兼容性测试 系统版本:Android,ios 分辨率 网络情况 可用工具:testin 三.安装,升级,卸载测试 首次安装,覆盖安装,卸载后 ...
- 一、部署监控服务器--安装LNMP环境
1.要求: 本案例要求部署-台Zabbix监控服务器, -台被监控主机,为进一步执行具体的监控任务做准备:1.安装LNMP环境2.源码安装Zabbix3.安装监控端主机,修改基本配置4.初始化Zabb ...
- Java Spring boot 多商户入驻 外卖|跑腿|代驾 Uniapp版本
技术说明: 源码下载:https://www.yuanmahy.com/8357.html 开发环境:jdk1.8,mysql5.7,node 9.4,redis6.2,npm6.9 开发工具:前端使 ...
- 【dp】状压dp
二进制的力量 状态压缩DP 愤怒的小鸟 第一次接触状态压缩DP是在NOIP2016的愤怒的小鸟,当时菜得连题目都没看懂,不过现在回过头来看还是挺简单的,那么我们再来看看这道题吧. 题意&数据范 ...
- Message、Handler、Message Queue、Looper 之间的关系
单线程模型中Message.Handler.Message Queue.Looper之间的关系 1.Message Message即为消息,可以理解为线程间交流的信息.处理数据后台线程需要更新UI,你 ...