Weekly 7

Algorithm

1.Longest Common Prefix

  • What 匹配最长前缀

  • How 先找出最短字符串做预设,然后从第一个字符开始与所有字符串的字符比对,全相等则添加到StringBuffer,不相等则停止,最后输出StringBuffer;
    值得注意的是要判断一开始入参是否为空,否则会报越界错误。
  • Key Codes
class Solution {
    public static String longestCommonPrefix(String[] strs) {
        if(strs.length==0){
            return "";
        }
        int i,j,len;
        int min = strs[0].length();
        String s = strs[0];
        StringBuffer ss = new StringBuffer();
        for(i=0;i<strs.length;i++){
            if(min>strs[i].length()){
                min = strs[i].length();
                s = strs[i];
            }
        }
        for (i=0;i<s.length();i++){
            len=0;
            for(j=0;j<strs.length;j++){
                if(s.charAt(i)==strs[j].charAt(i)){
                    len++;
                }
            }
            if(len==strs.length){
                ss.append(s.charAt(i));
            }else{
                break;
            }
        }
        if (ss.length()==0){
            return "";
        }else{
            return ss.toString();
        }
    }
}

Review

Avoiding Zombie Startups

  • What 有些创业公司看起来像人样(有融资、创业比赛有获奖、有媒体报道等),其实已死了,体量不增长,生命周期短;本文给出一些辨别僵尸startup的方法,在我们选择时要注意。

  • How

  • 1.不要仅仅因为创业公司筹集到了资金而加入它。
  • 2.不要因为得过奖品或获得过报道而加入创业公司。
  • 3.不要加入一个没有股权激励的创业公司。
  • 4.时刻问自己为什么他们在招聘。
  • 5.公司可以有不同价值观,但透明度是不可谈判的。

Tip

  • What 数据库中char, varchar, nvarchar的差异

  • How

    • char
      • 固定长度,最长n个字符。
    • varchar
      • 最大长度为n的可变字符串。(n为某一整数,不同数据库,最大长度n不同)
    • char和varchar区别
      • varchar比char节省空间,但在效率上比char稍微差一些。
      • 说varchar比char节省空间,是因为varchar是可变字符串,比如:用varchar(5)存储字符串“abc”,只占用3个字节的存储空间,而用char(5)存储,则占用5个字节(“abc ”)。
      • 说varchar比char效率稍差,是因为,当修改varchar数据时,可能因为数据长度不同,导致数据迁移(即:多余I/O)。其中,oracle对此多余I/O描述的表达是:“行迁移”(Row Migration)。
    • nvarchar和varchar区别
      • varchar:按字节存储数据,nvarchar:按字符存储数据,比如varchar(6):“哈哈哈”,“abcdef”;而 nvarchar(6):"哈哈哈哈哈哈",“abcdef”。
      • nvarchar(m)最大存储的实际字节长度=n*m(n跟据编码方式而定),如果nvarchar存储的是英文字符,也是根据编码方式存储n的字节长度。也就是说,如果用nvarchar存储英文字符,会浪费一半以上的存储空间
    • 总结
        1. char和varchar的性能差距是很小的,可以考虑忽略不计。
        1. 在大数据量应用中,使用char和nvarchar有可能导致大量的存储空间的浪费。

Share

用FindBugs分析代码漏洞

猜你喜欢

转载自www.cnblogs.com/cmh1111/p/10186646.html