##解题思路 最大可能值为数组规模减去1。利用这一点向下迭代,一旦找到符合要求的一对元素,便可返回彼时的i。 Sourcejava
package codewars; //--https://www.codewars.com/kata/52503c77e5b972f21600000e/train/java public class LargestDifference{ public static int largestDifference(int[] data){ for(int i = data.length - 1; i > 0; i--){ for(int j = 0; j + i < data.length; j++){ if(data[j + i] >= data[j]){ return i; } } } return 0; } }
package codewars; import junit.framework.TestCase; public classLargestDifferenceTest extends TestCase{ public void test1(){ assertEquals(4, LargestDifference.largestDifference(new int[]{9,4,1,10,3,4,0,-1,-2})); } public void test2(){ assertEquals(0, LargestDifferenceDifference(new int[]{3,2,1})); } public void test3(){ assertEquals(2, LargestDifferenceDifference(new int[]{1,2,3})); } }