##解題思路 最大可能值爲數組規模減去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})); } }