为了账号安全,请及时绑定邮箱和手机立即绑定

最大整数值java

最大整数值java

慕斯709654 2021-10-27 16:46:59
我试图解决来自Geeksforgeeks的最大整数值问题。问题说明如下:给定一个由数字 (0-9) 组成的字符串 S,您的任务是通过在遍历时在数字之间放置“*”或“+”运算符来找到可以从字符串中获得的最大值从字符串的左到右,一次选择一个数字。输入:输入的第一行包含 T 表示测试用例的数量。T 测试用例如下。每个测试用例包含一行表示字符串的输入。输出:对于每个测试用例,打印获得的最大值。这就是我所做的:class GFG {    public static void sort(int[] numbers)    {        int n = numbers.length;         for (int i = 1; i < n; ++i)         {             int key = numbers[i];             int j = i - 1;             while (j >= 0 && numbers[j] > key)             {                 numbers[j + 1] = numbers[j];                 j = j -1 ;             }             numbers[j + 1] = key;         }        System.out.println(numbers.length - 1);    }    public static void main (String[] args)     {        Scanner sc = new Scanner(System.in);        int testCases = sc.nextInt();        int [] maxNum;        for(int i = 0; i< testCases; i++)        {            String numbers = sc.nextLine();            char[] cNumbers = numbers.toCharArray();            maxNum = new int [cNumbers.length];            for(int j = 0; j + 1 < cNumbers.length; j++)            {                int sum = 0;                int mult = 0;                sum = cNumbers[j] + cNumbers[j + 1];                mult = cNumbers[j] * cNumbers[j + 1];                int maxNumber = Math.max(sum, mult);                maxNum[i] = maxNumber;            }                           sort(maxNum);        }     }}输入示例:2 01230 891 我的输出:-1 4 正确输出:9 73我的代码有什么问题?!
查看完整描述

3 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

快速浏览一下,如果您的数字小于 2,则应该添加它。2 或更大的应该乘以。不是在 PC 上进行测试。


查看完整回答
反对 回复 2021-10-27
  • 3 回答
  • 0 关注
  • 155 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信