codermanFans:先使用Hash,由于字符有256个,可以创建256个大小的数组,放入数组中,记录每个值出现的坐标,此时从第一个hash开始,先判断该hash值是否大于1,如果不大于1则跳过,因为不会重复,如果大于1则肯定至少有一个自己,输出(或者放入set中)然后根据该值的坐标找到下一个值,如果下一个值在hash中的大小也大于1并且这个值的坐标比该值的坐标大于1,则修改该值为下一个值,并找出下一个的下一个值是否也满足(大于1并且这个值的坐标比该值的坐标大于1)此时找到的最长的链中可能存在重复子串(如果此时最长链中只有这一条或者下面第二个链中与这一条没有重复或者连续则查找失败),然后再从第一个值的第二次出现的坐标依次往下找到第二个链,求最长公共子串,然后从第二个相同的开始截取,即可找出所有这些链的重复子串,依次对其中hash值出现次数大于1的串进行上述操作。。。。
投递百度等公司10个岗位 >
0 点赞 评论 收藏
分享
投递腾讯等公司10个岗位 >
0 点赞 评论 收藏
分享
布奇:Java里面,byte short char等基础类型都转换成int进行计算。
因此,b3 = b1 + b2 中,b1+b2得到了一个int的值所以需要强制转换
b3 = (byte)b1 + b2;
——个人见解,请大神批评
投递360集团等公司10个岗位 >
0 点赞 评论 收藏
分享
2015-08-05 09:28
哈尔滨工业大学深圳研究生院 Java 0 点赞 评论 收藏
分享
关注他的用户也关注了: