左耳听风-ARTS-第2周(2019/3/31-2019/4/6)
Algorithm
验证括号题(https://leetcode.com/problems/valid-parentheses/)。这道题在极客时间上覃超的《算法面试通关40讲》(https://time.geekbang.org/course/intro/130)上看过这道题,主要的思想是用压栈、出栈来判断括号的匹配,正确的情况只有一种,判断完字符串后,栈为空。
public boolean isValid(String s) {
if (s == null) {
return false;
}
if (s == "") {
return true;
}
Stack<Character> stack = new Stack<>();
char[] chars = s.toCharArray();
for (char c : chars) {
if (stack.isEmpty() || c == '(' || c == '[' || c == '{') {
stack.push(c);
} else {
Character top = stack.pop();
if ((c == ')' && top == '(') || (c == ']' && top == '[') || (c == '}' && top == '{')) {
continue;
} else {
return false;
}
}
}
return stack.isEmpty();
}
Reading
《The Greatest Developer Fallacy Or The Wisest Words You’ll Ever Hear?》链接是https://skorks.com/2011/02/the-greatest-developer-fallacy-or-the-wisest-words-youll-ever-hear/
这篇文章是陈皓推荐的,并且在他的博客中翻译成了中文(https://coolshell.cn/articles/4235.html)。“当我需要时我会去学”,这是句比较流行的话,也是我很长一时间的心里话,也是今天不去学习的借口。文中作者仔细论述了这句话的害处和正确的做法、正确的结果。
第一部分作者描述了自己担忧的一种情况,很多开发者不深入了解技术,只是在需要的时候再去学、再去查,美名为实用者,因为技术实在进步的太快了,我觉的如果这样的开发的结果不错,真的需要很强的阅读能力和学习能力。但是,作者完全否定这种思维方式,在第三部分给予了反驳。第二部分描述的第二种不好的情况,投资自己的职业未来,可能每个人都误认为在投资自己的未来,从实际效果来看,并不是这样,作者认为的原因可能是缺乏成为专家的意愿而不是知识。第三部分作者着重表述了实际上我们不知道我们不知道的东西,所以“当我需要时我会去学”这句话其实很难起效果,实际的情况是我们到时难受、煎熬,但找不到解决问题的有效方法,纵然最后完成了任务,市级上优化的空间很大,甚至是几何级的优化空间。快速的浏览一些主题并不能在我们的大脑中留下什么,这完全是浪费时间。而深入的专研一门技术,可以让我们成为专家,同时让我们在这一过程中成为其他学科的专家,知识、技术不是孤立,而是网络,我们深入专研的技术会牵扯出其他需要深入研究的知识。第四部分作者描述了学习的快慢问题,用之前看到的一句话来描述就是,值钱的技术都不是一天两天能学会的,需要很长时间,需要提前准备。第五部分作者描述,我们都喜欢和高手一起工作,但高手喜欢也和高手一起工作,我们只有深研技术,成为专家,高手才会找到你和你一起工作。
Tip
公司项目中修改之前的代码时,发现了一个http请求的工具类,使用到了HttpClient库,在使用HttpPost时,把本来放在body中的请求参数设置在了HttpPost.setParams()中,导致了错误结果,查看文档后发现,这个方法设置的是整个HttpClient的配置参数,本意不是用来设置POST请求的body参数的。body参数正确的设置方法是HttpPost.setEntity(HttpEntity entity)。
Share
Java泛型相关总结(下), https://www.cnblogs.com/minguo/p/10666976.html
左耳听风-ARTS-第2周(2019/3/31-2019/4/6)的更多相关文章
- 一切从这里起始(左耳听风 ARTS 6号小组 week 1)
ARTS 具体要求: 1.每周至少做一个 leetcode 的算法题2.阅读并点评至少一篇英文技术文章3.学习至少一个技术技巧4.分享一篇有观点和思考的技术文章 1.Algorithm Two Sum ...
- 左耳听风 ARTS Week 001
要求:1.每周至少做一个 leetcode 的算法题 2.阅读并点评至少一篇英文技术文章 3.学习至少一个技术技巧 4.分享一篇有观点和思考的技术文章 1.每周至少做一个 leetcode 的算法题 ...
- 左耳听风 ARTS Week 002
要求:1.每周至少做一个 leetcode 的算法题 2.阅读并点评至少一篇英文技术文章 3.学习至少一个技术技巧 4.分享一篇有观点和思考的技术文章 1.每周至少做一个 leetcode 的算法题 ...
- 【ARTS】01_21_左耳听风-201900401~201900407
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_20_左耳听风-20190325~20190331
zz## ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 ...
- 【ARTS】01_19_左耳听风-20190318~20190324
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_18_左耳听风-20190311~20190317
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_17_左耳听风-20190304~20190310
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_16_左耳听风-20190225~20190303
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_14_左耳听风-20190211~20190217
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
随机推荐
- 解决Visual C++ for Linux: -L"~/projects/path_to_lib_folder" 无法设置library search path的问题
最近倒腾Linux C/C++项目.以目前的情况来说,要生成编译(build)一个Linux工程脚本,首选的工具必定是CMake.这也是我之前Linux项目的首选.不过自从VS IDE支持Linux ...
- python3.6 连接mysql数据库问题
最近有个项目欲安装MySQL-python/1.2.5一直失败. 环境: win7 python3.6.2 报错信息如下: Creating library build\temp.win32-3.6\ ...
- 一个redis因为关闭快照无法连接的BUG
[2018-04-19 11:00:08,587: ERROR/MainProcess] consumer: Cannot connect to redis://127.0.0.1:6379/0: M ...
- Mantis:Mantis rest api url 404 Not Found.解决过程纪录
测试Mantis rest api时碰到的问题:404 Not Found. 根据文件,Mantis rest api的预设url是{{url}}/api/rest/{{controller}}. 其 ...
- c++给数组整体赋初值
1.memset memset是计算机中C/C++语言初始化函数.作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作. 头文件: #include<cstri ...
- Linux 操作系统目录结构
/ 根目录 # ls /bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp var bin - ...
- springboot +redis配置
springboot +redis配置 pom依赖 <dependency> <groupId>org.springframework.boot</groupId> ...
- vgcreate语法
vgcreate 用于创建LVM卷组 补充说明 vgcreate命令 用于创建LVM卷组.卷组(Volume Group)将多个物理卷组织成一个整体,屏蔽了底层物理卷细节.在卷组上创建逻辑卷时不用考虑 ...
- commons-dbcp2 新版本2.6使用连接池在关闭服务器的时候会有内存溢出的BUG....
这是异常信息.本人使用的mysql8.0数据库驱动版本mysql-connector-java Version 8.0.11,发生这种情况的原因主要是Dbcp2的XBasicDataSource在关闭 ...
- tomcat 配置本地路径映射
在tomcat的server.xml中的<host></host>标签内添加如: <Context path="/photo" reloadable= ...