LeetCode 718
双指针做法
class Solution {
int res = 0;
public int findLength(int[] nums1, int[] nums2) {
int len1 = nums1.length;
int len2 = nums2.length;
int point_1 = 0;
int point_2 = len2-1;
while (point_2 > -1){
int p1 = point_1;
int p2 = point_2;
int count = 0;
while (p2 < len2 && p1 < len1){
if(nums2[p2] == nums1[p1]){
count++;
p1++;
p2++;
if(count > res){
res = count;
}
}else{
count = 0;
p1++;
p2++;
}
}
point_2--;
}
point_2 = 0;
while (point_1 < len1){
int p1 = point_1;
int p2 = point_2;
int count = 0;
while (p2 < len2 && p1 < len1){
if(nums2[p2] == nums1[p1]){
count++;
p1++;
p2++;
if(count > res){
res = count;
}
}else{
count = 0;
p1++;
p2++;
}
}
point_1++;
}
return res;
}
}