双指针

                                                                                                                               点击此处返回总目录

二、633 平方数之和  Easy

八、524 通过删除字母匹配到字典最长单词 Medium

 

 

 

 

二、平方数之和

【题目】

双指针_第1张图片

【分析】

双指针。跟上一个题目相同。

注意:

1. j可以从Math.sqrt(c)开始往前走。这样少遍历很多数据。

2. while的条件中j可以等于j。允许2*2+2*2=8这种情况存在。

3. i从0开始。允许出现0*0+1*1=1这种情况。

 

【代码】

双指针_第2张图片

 

【结果】

双指针_第3张图片

说明,看了一下最优解,跟我的代码完全一样。不过它只花了7ms,可能是测试的数据不一样吧。

 

八、524 通过删除字母匹配到字典最长单词

【题目】

双指针_第4张图片

【分析】

       借鉴上一题的思路。

【代码】

双指针_第5张图片

 

 

 

注意:

1. 以后不能这么写了:

int i=0;

for(;i

     String s = d.get(i);

}

这样还不如一句话:

for(String s:d){

}

 

2. int i =0 ; int j = 0; 可以简写为:int i=0,j=0;

 

3. if(j

         return false;

    }else{

         return true;

    }

可以简写为:

return j==ch.length();

 

4. A.compareTo(B)   

如果AB,则返回大于0的数。

abc < abd

ab < abc

a < d

 

【结果】

 

 

双指针_第6张图片

 

你可能感兴趣的:(7,算法)