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)的更多相关文章

  1. 一切从这里起始(左耳听风 ARTS 6号小组 week 1)

    ARTS 具体要求: 1.每周至少做一个 leetcode 的算法题2.阅读并点评至少一篇英文技术文章3.学习至少一个技术技巧4.分享一篇有观点和思考的技术文章 1.Algorithm Two Sum ...

  2. 左耳听风 ARTS Week 001

    要求:1.每周至少做一个 leetcode 的算法题 2.阅读并点评至少一篇英文技术文章 3.学习至少一个技术技巧 4.分享一篇有观点和思考的技术文章 1.每周至少做一个 leetcode 的算法题 ...

  3. 左耳听风 ARTS Week 002

    要求:1.每周至少做一个 leetcode 的算法题 2.阅读并点评至少一篇英文技术文章 3.学习至少一个技术技巧 4.分享一篇有观点和思考的技术文章 1.每周至少做一个 leetcode 的算法题 ...

  4. 【ARTS】01_21_左耳听风-201900401~201900407

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  5. 【ARTS】01_20_左耳听风-20190325~20190331

    zz## ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 ...

  6. 【ARTS】01_19_左耳听风-20190318~20190324

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  7. 【ARTS】01_18_左耳听风-20190311~20190317

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  8. 【ARTS】01_17_左耳听风-20190304~20190310

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  9. 【ARTS】01_16_左耳听风-20190225~20190303

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  10. 【ARTS】01_14_左耳听风-20190211~20190217

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

随机推荐

  1. 解决Visual C++ for Linux: -L"~/projects/path_to_lib_folder" 无法设置library search path的问题

    最近倒腾Linux C/C++项目.以目前的情况来说,要生成编译(build)一个Linux工程脚本,首选的工具必定是CMake.这也是我之前Linux项目的首选.不过自从VS IDE支持Linux ...

  2. python3.6 连接mysql数据库问题

    最近有个项目欲安装MySQL-python/1.2.5一直失败. 环境: win7 python3.6.2 报错信息如下: Creating library build\temp.win32-3.6\ ...

  3. 一个redis因为关闭快照无法连接的BUG

    [2018-04-19 11:00:08,587: ERROR/MainProcess] consumer: Cannot connect to redis://127.0.0.1:6379/0: M ...

  4. Mantis:Mantis rest api url 404 Not Found.解决过程纪录

    测试Mantis rest api时碰到的问题:404 Not Found. 根据文件,Mantis rest api的预设url是{{url}}/api/rest/{{controller}}. 其 ...

  5. c++给数组整体赋初值

    1.memset memset是计算机中C/C++语言初始化函数.作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作. 头文件: #include<cstri ...

  6. Linux 操作系统目录结构

    /  根目录 # ls /bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp  var bin - ...

  7. springboot +redis配置

    springboot +redis配置 pom依赖 <dependency> <groupId>org.springframework.boot</groupId> ...

  8. vgcreate语法

    vgcreate 用于创建LVM卷组 补充说明 vgcreate命令 用于创建LVM卷组.卷组(Volume Group)将多个物理卷组织成一个整体,屏蔽了底层物理卷细节.在卷组上创建逻辑卷时不用考虑 ...

  9. commons-dbcp2 新版本2.6使用连接池在关闭服务器的时候会有内存溢出的BUG....

    这是异常信息.本人使用的mysql8.0数据库驱动版本mysql-connector-java Version 8.0.11,发生这种情况的原因主要是Dbcp2的XBasicDataSource在关闭 ...

  10. tomcat 配置本地路径映射

    在tomcat的server.xml中的<host></host>标签内添加如: <Context path="/photo" reloadable= ...