美文网首页LeetCode
一个3位整数通过增加K位而转换成最大值

一个3位整数通过增加K位而转换成最大值

作者: Billsion | 来源:发表于2022-02-16 00:24 被阅读0次

描述:
给定一个三位整数N和一个整数K,通过增加整数N中任意一位数,最多增加K位,获得最大值

例如:
N = 512 and K = 10 ,return 972
N = 191 and K = 4 , return 591

   public static int max3DigitNumSolution(int N, int K) {
        if (K == 0) return N;
        int result = 0;
        int x = N;
        int y = K;

        for (int i = String.valueOf(N).length() - 1; i >= 0; i--) {
            int divider = (int) Math.pow((double) 10, (double) i);
            if (y == 0) {
                result += x ;
                break;
            } else if (x / divider + y >= 9) {
                result += 9 * divider;
            } else {
                result += (x / divider + y) * divider;
            }
            y = y + x / divider - 9;
            y = y > 0 ? y : 0;
            x = x % divider;
        }
        return result;
    }

相关文章

  • 一个3位整数通过增加K位而转换成最大值

    描述:给定一个三位整数N和一个整数K,通过增加整数N中任意一位数,最多增加K位,获得最大值 例如:N = 512 ...

  • 字符串转换整数

    题目信息 将字符串转换成一个 32 位有符号整数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ ...

  • 作业17-10-27

    取出整数的最后一位 最大值 季节输出

  • 17-10-27

    取出整数的最后一位 最大值 季节输出

  • 17-10-27

    取出整数的最后一位 最大值 季节输出

  • 动态规划最大K乘积问题

    最大K乘积动态规划解决 设I是一个n位十进制整数。如果将I分割为k段,则可得到k个整数。这k个整数的乘积称为I的一...

  • 17-10-27

    一:取出整数的最后一位 二:最大值 三:季节输出

  • 任务题

    一、 给定一个 k 位整数 N=d​k−1​​ 10​k−1​​ +⋯+d​1​​ 10​1​​ +d​0​​ ...

  • 二叉堆

    1. 思考 Top k 问题: 从海量数据中获取前k个 最大值 或 最小值;比如从 一百万 个整数中,获取最大的...

  • 2017-10-27

    作业一:取出整数最后一位 作业二:最大值 作业三:季节输出

网友评论

    本文标题:一个3位整数通过增加K位而转换成最大值

    本文链接:https://www.haomeiwen.com/subject/rsjrlrtx.html