1. 网每个信息页面下方都有一个信息被浏览次数统计的计数器,如果让你用你熟悉的代码写一个这样一个支持8位ID统计的计数器,你的思路是怎样的?会怎样写?需要用code实现。
在信息表里添加一个用来记录浏览次数的字段,每请求一次该资源,就将浏览次数字段+1,
操作代码就是执行一条更新浏览次数的sql语句:update info set view = view +1 where id = 1
2. 网不允许一个人在一天之内发布过于重复或者接近重复信息,如果让你实现一个重复度检测算法判断,你的思路是怎样的?code上怎么写?需要用code实现。
检测最大的匹配字符串长度是否超过某个限制,比如100个字符,如果超过这个长度,就认为是重复信息。
public boolean isSame(String a,String b,int size) {
StringBuffer tmp = new StringBuffer();
String maxString = "";
int max = 0;
int len = 0;
char[] aArray = a.toCharArray();
char[] bArray = b.toCharArray();
int i = 0;
int j = 0;
while(i<aArray.length-max) {
j = 0;
while(j<(bArray.length-max)) {
if(aArray[i]==bArray[j]) {
len = 1;
tmp = new StringBuffer();
tmp.append(aArray[i]);
while((i+len<aArray.length)&&(j+len<bArray.length)&&(aArray[i+len]==bArray[j+len])) {
tmp.append(aArray[i+len]);
len++;
}
if(len>max) {
max = len;
maxString = tmp.toString();
}
}
j++;
}
i++;
}
if(maxString.length > size){
return true;
}else{
return false;
}
}