func changeValue(value1 []int){
for i:=0; i < len(value1); i++ {
switch {
case value1[i] == 101:
value1[i] = 2
case value1[i] == 102:
value1[i] = 15
case value1[i] == 103:
value1[i] = 21
case value1[i] == 104:
value1[i] = 66
case value1[i] == 105:
value1[i] = 5
case value1[i] < 0 ,value1[i]> 105:
value1[i] = 0
}
}
}
func searchMaxContinueInt(value1, value2 []int)(sa []int) {
//todo
changeValue(value1)
changeValue(value2)
if len(value1) > len(value2){
swap(&value1,&value2);
}
max:=0;
start :=0
var k1, k2 int
for i := 0 ;i < len(value1) ; i++ {
for j :=0; j < len(value2) ; j++ {
k1 = i
k2 = j
length :=0
for value1[k1] == value2[k2] {
k1 ++
k2 ++
length ++
if k1 == len(value1) ||k2 == len(value2){
break
}
}
if length > max {
max = length
start = i
}
}
}
sa = value1[start:start + max]
return sa
}
func swap(s1 *[]int,s2 *[]int){
temp := *s1;
*s1 = *s2;
*s2 = temp;
}
最长公共子串
最新推荐文章于 2019-04-12 20:09:16 发布