左耳听风-ARTS-第1周

Algorithm

https://leetcode.com/problems/longest-common-prefix/

class Solution {
    
    public String longestCommonPrefix(String[] strs) {
        if (strs == null || strs.length == 0) {
            return "";
        }

        if (strs.length == 1) {
            return strs[0];
        }

        String result = "";

        boolean pass;
        //i循环的字符指针
        for (int i = 0; ; i++) {
            if (i >= strs[0].length()) {
                return result;
            }

            char c = strs[0].charAt(i);
            pass = true;

            for (int j = 1; j < strs.length; j++) {
                if (i >= strs[j].length()) {
                    pass = false;
                    break;
                }
                if (c == strs[j].charAt(i)) {
                    continue;
                } else {
                    pass = false;
                    break;
                }
            }

            if (pass) {
                result += c;
            } else {
                return result;
            }
        }

    }
    
}

Review

《Teach Yourself Programming in Ten Years》

这篇文章很出名,我之前也读过一遍,时间久了,这次像新读一篇文章一样,完全没有之前的印象。作者写的真诚,开篇就认真分析了“24小时自学C++”到底意味着什么,分自学、C++、24小时内三段。通常看到“24小时自学C++”这样的标题,我心想这不可能,就略过了,然而作者以他真实、丰富的经验分析如何不可能以及只能到学到什么程度,这种认真和真诚是我没有的。在第二部分,作者介绍了刻意练习,在今天来看,刻意练习是个热门的词,但从这篇文章写就的时间来看,当时也许算是前沿的研究结果。还发现这段和李笑来的《把时间当做朋友》第三章的某些字句重复,想来时李笑来借鉴这篇文章的。第三部分作者以自己的经验给出了成为真正程序员的大纲,包括对编程感兴趣,动手编程,和同行交流,上大学,和同行合作,修改别人的代码,多学不同范式的编程语言,了解计算机的工作原理,甚至参加语言的标准化工作等,难度逐级递增。我觉得当埋没在公司的业务代码中时,拿出这篇文章看看会使自己以更高的角度来看待当前的工作。

Tip

前几天代码中出了问题,统计某项数据出了问题,需要直接更改Redis中的数据,就直接set、sadd了,结果第二天数据多了,原来是Redis中的key应该是当晚12点失效的,因为在用命令set、sadd修改了数据,失效时间清零了,永不会再失效,导致第二天数据产生了叠加。

Share

Java泛型相关总结,https://www.cnblogs.com/minguo/p/10576060.html

posted on 2019-03-30 21:22  nyk1234  阅读(98)  评论(0编辑  收藏  举报

导航