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}));
    }        
          
}
相關文章
相關標籤/搜索