697 - 判断是否为平方数之和

2017.10.24

只查找一半就可以,如果全部查找的话,会超时。


public class Solution {
    /*
     * @param : the given number
     * @return: whether whether there're two integers
     */
	public boolean checkSumOfSquareNumbers(int num) {
        // write your code here
		if(num < 0){
			return false;
		}
		ArrayList list = new ArrayList();
		int tmp = (int)Math.sqrt(num);
		if(tmp * tmp == num){
			return true;
		}
		for(int i = 0; i <= tmp; i++){
			list.add(i*i);
		}
		for(int i = tmp; i >= tmp/2; i--){
		    if(list.contains(num - list.get(i))){
				return true;
			}
		}
		return false;
    }
};


你可能感兴趣的:(lintcode)