微软2014实习生及秋令营技术类职位在线测试: Reduce inversion count
2014-04-13 11:01
447 查看
import java.util.Scanner; public class ReduceInversionCount { public static void main(String[] args) { Scanner in = new Scanner(System.in); String inStr ; Integer[] num ; while(in.hasNext()){ inStr = in.nextLine(); num = tranString2IntArr(inStr); int count = inversionCount(num, num.length); if(count == 0){System.out.println(0);continue;} for(int i = 0 ;i < num.length ; i++){ for(int j = i+1 ; j < num.length ; j++){ if(num[i] > num[j]){ //发现逆序对 swap(num,i,j); int tempcount = inversionCount(num, num.length); count = count < tempcount ?count:tempcount; swap(num,i,j); } } } System.out.println(count); } } private static void swap(Integer[] num, int i, int j) { int temp = num[i]; num[i] = num[j]; num[j] =temp; } private static Integer[] tranString2IntArr(String inStr) { String[] strs = inStr.split(","); Integer result[] = new Integer[strs.length]; for(int i = 0 ;i < strs.length ; i++) result[i] = Integer.parseInt(strs[i]); return result; } private static int inversionCount(Integer[] num,int n){ int count = 0 ; for(int i = 0 ;i < n ;i++) for(int j = i+1 ;j < n; j++) if(num[i] > num[j]) count++; return count ; } }
相关文章推荐
- 微软2014实习生及秋令营技术类职位在线测试-3.Reduce inversion count.cpp
- 微软2014实习生及秋令营技术类职位在线测试_题目3 : Reduce inversion count
- 【微软2014实习生及秋令营技术类职位在线测试】题目3 : Reduce inversion count
- 微软2014实习生及秋令营技术类职位在线测试——Reduce inversion count
- 【微软2014实习生及秋令营技术类职位在线測试】题目3 : Reduce inversion count
- 微软2014实习生及校招秋令营技术类职位在线测试:2.K-th string
- 微软2014实习生及秋令营技术类职位在线测试-1.StringReorder.cpp
- 【微软2014实习生及秋令营技术类职位在线测试】题目1 : String reorder
- 微软2014实习生及秋令营技术类职位在线测试-2.K-th string.cpp
- 微软2014实习生及秋令营技术类职位在线测试+试题1+答案
- 微软2014实习生及秋令营技术类职位在线测试_题目4 : Most Frequent Logs
- 微软2014实习生及秋令营技术类职位在线测试[题目与答案]
- 微软2014实习生及秋令营技术类职位在线测试: K-th string
- 微软2014实习生及秋令营技术类职位在线测试--String reorder
- 【微软2014实习生及秋令营技术类职位在线测试】题目1 : String reorder
- 微软2014实习生及秋令营技术类职位在线测试之 2. K-th String
- 微软2014实习生及秋令营技术类职位在线测试-K-th string
- 微软2014实习生及秋令营技术类职位在线测试-题目2 : K-th string
- 微软2014实习生及秋令营技术类职位在线测试:String reorder
- 微软2014实习生及秋令营技术类职位在线测试-题目1 : String reorder