ARTS第八周
ARTS是什么?
Algorithm:每周至少做一个leetcode的算法题;
Review:阅读并点评至少一篇英文技术文章;
Tip/Techni:学习至少一个技术技巧;
Share:分享一篇有观点和思考的技术文章。
Algorithm
题目:206. Reverse Linked List
解题思路
题目要求反转列表,即原本指向后一个节点的当前节点转而指向它的前一个节点,因此我们使用两个指针来分别表示当前节点和前一个节点,调转当前节点指针指向前一个后,然后依次遍历..
代码
public ListNode reverseList(ListNode head) {
//使用current指针指向当前节点
ListNode current = head;
//使用pre指针指向当前节点的前一个节点
ListNode pre = null;
while (current != null){
//取出当前节点的下一个节点
ListNode next = current.next;
//修改current指针指向前一个节点
current.next = pre;
//将pre指针往后移动
pre = current;
//将current指针往后移动
current = next;
}
//最终pre指向新列表的头
return pre;
}
Review
本次review的文章是How to Spend The First Hour of Your Work Day on High-Value Tasks,一篇有关时间管理的文章,主要讲如何花费一天中的第一个小时在高价值的工作上.
文中方法的重点:
- 在早晨做高价值的工作,而不要花费时间在那些低价值的工作上(看通知、回邮件等)
- 早起,早上第一个小时是一个不被打断安排重要的工作的好时间
- 不要把早上的第一个小时浪费在做计划上,应该在前一天晚上做好计划
- 做计划的时候要规划好每个任务所花费的时间
- 最先做你最不想做的事情(前一天已规划好的任务)
Tip/Techni
这周工作中遇到了ES的索引问题,对于TEXT类型的长中文字段(如:"这是一篇技术博客"),默认不支持完全匹配查询,即搜索条件TEXT字段,内容为"这是一篇技术博客",结果是搜不到这条记录,原因是分词器默认会把"这是一篇技术博客"这句话切分成多个词,比如"这"、"是"、"一篇"、"技术"、"博客",索引里存的是这些切分好的词,没有存整个句子,因为会搜索不到。那有什么方法能让它搜索到呢,其中一种方法是在配置索引规则的时候,可以加上一个n-gram:
"trigrams_filter": {
"type": "ngram",
"min_gram": 3,
"max_gram": 8
}
这样,这个句子会被切分成由连续3-8个字组成的词,如:"这是一"、"这是一篇"、"篇技术博客"、"这是一篇技术博客"等3-8个字的词,因此我们可以通过8个字的索引"这是一篇技术博客"搜索到这条记录。
Share
今天分享一篇与IT人息息相关的"加班"的文章华为工程师猝死,36岁,22月无休:比挣钱更重要的是活着,希望每个IT人都注意自己的身体,毕竟身体是自己的。咱们努力拼效率,而不要拼时间,努力工作的同时也不要忘了身体、生活,共勉。
如果您觉得本文对你有用,不妨帮忙点个赞,或者在评论里留言交流,欢迎您持续关注我的博客^_^
版权所有,欢迎保留原文链接进行转载