1. 程式人生 > 實用技巧 >Oracle基於3種方法的大資料量插入更新

Oracle基於3種方法的大資料量插入更新

給定一組非負整數 nums,重新排列它們每個數字的順序(每個數字不可拆分)使之組成一個最大的整數。

注意:輸出結果可能非常大,所以你需要返回一個字串而不是整數。

解答

自定義一種排序方法,降序排序,最後將排序後的結果合併

    public String largestNumber(int[] nums) {
        List<String> list = new ArrayList<String>(nums.length);
        for (int num : nums) {
            list.add(num + "");
        }
        Collections.sort(list, 
new Comparator<String>() { @Override public int compare(String arg0, String arg1) { // TODO Auto-generated method stub String merge0 = arg0 + arg1; String merge1 = arg1 + arg0; for (int i = 0; i < merge0.length(); ++i) {
char ch0 = merge0.charAt(i); char ch1 = merge1.charAt(i); if (ch0 != ch1) { return ch1 - ch0; } } return 0; } }); if (list.get(0).equals("0")) { // 處理全是0的情況 return
"0"; } StringBuilder stringBuilder = new StringBuilder(); for (String value : list) { stringBuilder.append(value); } return stringBuilder.toString(); }

針對int a與int b,可以轉換成String後,比較a+b與b+a的大小

注意全是0的處理,結果是0,而不是00000...