Algorithm
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;istrs[i].length()){ min = strs[i].length(); s = strs[i]; } } for (i=0;i
Review
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存储英文字符,会浪费一半以上的存储空间
- 总结
-
- char和varchar的性能差距是很小的,可以考虑忽略不计。
-
- 在大数据量应用中,使用char和nvarchar有可能导致大量的存储空间的浪费。
-
- char