codewas040:求左元素小于右元素状况下,下标之间的最大之差

Largest Difference in Increasing Indexes

##解题思路 最大可能值为数组规模减去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;
    }    
}

Example Test:

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}));
    }        
          
}
相关文章
相关标签/搜索