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人都注意自己的身体,毕竟身体是自己的。咱们努力拼效率,而不要拼时间,努力工作的同时也不要忘了身体、生活,共勉。

如果您觉得本文对你有用,不妨帮忙点个赞,或者在评论里留言交流,欢迎您持续关注我的博客^_^
原文地址:https://www.cnblogs.com/muxuanchan/p/10231033.html