给定一个正整数 ,请找出由该正整数各个数位组成的大于其本身的 最小整数,成功找到将其返回,否则返回-1 。 注意答案在 范围内

区块链毕设网qklbishe.com为您提供问题的解答

给定一个正整数给定一个正整数 ,请找出由该正整数各个数位组成的大于其本身的 最小整数,成功找到将其返回,否则返回-1 。    注意答案在 范围内 ,请找出由该正整数各个数位组成的大于其本身的最小整数,成功找到将其返回,否则返回-1 。
注意答案在给定一个正整数 ,请找出由该正整数各个数位组成的大于其本身的 最小整数,成功找到将其返回,否则返回-1 。    注意答案在 范围内范围内

import java.util.*;   public class Solution {     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      *      *       * @param n int整型       * @return int整型      */     public int nextGreaterElement(int n) {         // write code here         String[] array = String.valueOf(n).split("");          // 转int数组好操作         int[] intArr = new int[array.length];         for (int i = 0; i < intArr.length; i++) {             intArr[i] = Integer.parseInt(array[i]);         }          // 先取最后一位,从后往前比较         int index = intArr.length - 1;         while (index > 0) {             for (int i = index; i > 0; i--) {                 if (intArr[i - 1]==0){                     // 跳过特殊值0                     continue;                 }                 if (intArr[index] > intArr[i - 1]) {                     swap(intArr, index, i - 1);                     return transInt(intArr, i - 1);                 }             }             // 继续向前取一位             index--;         }          return -1;     }      private int transInt(int[] intArr, int index) {         // 把发生交换位之后的数字按升序排列,这样一定最小         Arrays.sort(intArr, index + 1, intArr.length);         StringBuilder sb = new StringBuilder();         for (int i = 0; i <= intArr.length - 1; i++) {             sb.append(intArr[i]);         }          // 防止溢出,先转Long试一试         if (Long.parseLong(sb.toString()) > Integer.MAX_VALUE) {             return -1;         } else {             return Integer.parseInt(sb.toString());         }      }      // 交换两个元素     private void swap(int[] intArr, int i, int i1) {         int temp = intArr[i];         intArr[i] = intArr[i1];         intArr[i1] = temp;     } }

24:47

以上就是关于问题给定一个正整数 ,请找出由该正整数各个数位组成的大于其本身的 最小整数,成功找到将其返回,否则返回-1 。
注意答案在 范围内的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 给定一个正整数 ,请找出由该正整数各个数位组成的大于其本身的 最小整数,成功找到将其返回,否则返回-1 。 注意答案在 范围内