回文数字和连续子数组的最大和

回文数字

public boolean isPalindrome (int x) {
	if(x < 0) return false;
	if(x == 0) return true;
	long y = Long.parseLong(String.valueOf(x));
	long res = 0;
	while (y != 0) {
		res = res * 10 + y%10;
		y/=10;
	}
	return res == Long.parseLong(String.valueOf(x));
}

连续子数组的最大和

public int findGreatestSumOfSubArray(int[] array) {
	if (array == null) return -1;
	int maxSum = array[0];
	int currSum = 0;
	for(int i = 0; i < array.length; i++) {
		currSum += array[i];
		maxSum = Math.max(maxSum, currSum);
		currSum = currSum >= 0 ? currSum : 0;
	}
	return maxSum;
}

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