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.“提出表扬的同学:姜依萍,王雪玲,徐楠,相文君,赵晓未提交作业的同学:任红强,王瑞强,宗鹏新,扎西才让,布旦刀杰,范 ...
随机推荐
- 西门子 S7300 以太网模块连接组态王方法
北京华科远创科技有限研发的远创智控ETH-YC模块,以太网通讯模块型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-20 ...
- 【SpringBoot基础系列】手把手实现国际化支持实例开发
[SpringBoot基础系列]手把手实现国际化支持实例开发 国际化的支持,对于app开发的小伙伴来说应该比价常见了:作为java后端的小伙伴,一般来讲接触国际化的机会不太多,毕竟业务开展到海外的企业 ...
- iOS视频硬编码技术
iOS视频硬编码技术 一.iOS视频采集硬编码 基本原理 硬编码 & 软编码 硬编码:通过系统自带的Camera录制视频,实际上调用的是底层的高清编码硬件模块,即显卡,不使用CPU,速度快 软 ...
- Mobileye 自动驾驶策略(二)
Mobileye 自动驾驶策略(二) 与多方都成功进行了合作,其中比较大型的合作包括法雷奥.百度和中国 ITS. 法雷奥是最近的的 Tier 1 合作伙伴,法雷奥和 Mobileye 签署协议,表示未 ...
- OpenGL在图形管道中调用了什么用户模式图形驱动程序(UMD)?
OpenGL在图形管道中调用了什么用户模式图形驱动程序(UMD)? 图形硬件供应商,需要为显示适配器编,编写用户模式显示驱动程序.用户模式显示驱动程序,是由Microsoft Direct3D运行时加 ...
- CodeGen融合核心扩展定制文件
CodeGen融合核心扩展定制文件 融合核心定制文件 Harmony核心环境的各个方面都可以通过创建一个定制文件来定制,该文件是一个名为Harm的JSON文件onyCoreCustomization. ...
- JVM--你常见的jvm 异常有哪些? 代码演示:StackOverflowError , utOfMemoryError: Java heap space , OutOfMemoryError: GC overhead limit exceeded, Direct buffer memory, Unable_to_create_new_native_Thread, Metaspace
直接上代码: public class Test001 { public static void main(String[] args) { //java.lang.StackOverflowErro ...
- Java并发:乐观锁
作者:汤圆 个人博客:javalover.cc 简介 悲观锁和乐观锁都属于比较抽象的概念: 我们可以用拟人的手法来想象一下: 悲观锁:像有些人,凡事都往坏的想,做最坏的打算:在java中就表现为,总是 ...
- Open C
Open C UF 公共类型UF_ABORT 进度中断UF_ASSEMUF_ATTRUF_BOUNDUF_BREPUF_CAMUF_CFIUF_CGMUF_CLEARUF_CLONE ...
- 07:JS(03)
BOM与DOM操作 # 截至目前为止 我们虽然已经学会了js语法 但是你会发现跟浏览器和html文件还是一点关系没有 """ BOM 浏览器对象模型 Browser Ob ...