多多的数字组合(Java)

https://www.nowcoder.com/exam/test/82584972/detail?pid=30579184

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public int method(){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();

        if(N<=0 || N>45){
            return -1;
        }

        String out_str = "";
        int max_num = 9;
        while(N>0){
            if(N>max_num){
                N = N-max_num;
                out_str = max_num+out_str;
                max_num--;
            }else {
                out_str = N+out_str;
                break;
            }
        }
        int out = Integer.parseInt(out_str);
        return out;
    }
    public static void main(String[] args) {
        Main m = new Main();
        System.out.println(m.method());
    }
}

全部评论

相关推荐

头像
09-24 11:40
已编辑
上海交通大学 C++
1.&nbsp;给n个仅包含大写字母的字符串,对其排序,包含PDD的排在不包含PDD的前面,其余的按字典序,输出前m个。比较简单,按照给定规则排序即可。&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;有n个数字,从中删除两个数字使得数组的平均值不变,输出方案个数。计算数组的和sum,需要保证sum&nbsp;*&nbsp;2&nbsp;%&nbsp;n&nbsp;==&nbsp;0,从而删除的数字之和为sum&nbsp;*&nbsp;2&nbsp;/&nbsp;n,转换成两数之和问题。3.&nbsp;给长度为n的数组ai,判断是否可以构建另一个长度为n的数组bi,使得对任意ai,都存在ai&nbsp;=&nbsp;bj&nbsp;-&nbsp;bk,1&lt;=j,k&lt;=n数学题。结论是数组a中必须要保证两个不同子序列的和相同,之后暴力遍历a中的子序列,求和,并记录在哈希表中判断即可。O(n2^n)4.&nbsp;第i时刻汉堡的价格为pi,所购买的汉堡价格可以对应转换为积分,若积分大于等于100,自动转换为一张汉堡券,时限为3天(若第1天获得汉堡券,可以在第2、3、4天使用),求获得所有汉堡需要花费的最小金额。考虑dp。将券的状态记为j,剩余积分记为k,其中j为历史三天是否获得优惠券(若j=6=0b110,表示i-1、i-2天获得了优惠券),dp[i][j][k]表示第i天后券为j剩余积分为k所需要花费的最小金额。对于每个dp[i-1][j][k],判断是否有券可以在下一时刻使用(j!=0),并计算下一时刻是否使用券的情况下,后续的状态,从而能够转移到dp[i][new&nbsp;j][new&nbsp;k]。O(800n)具体而言:&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(j&nbsp;&amp;amp;&nbsp;1)&nbsp;dp[i][(j-1)&gt;&gt;1][k]&nbsp;=&nbsp;min(dp[i][(j-1)&gt;&gt;1][k],&nbsp;dp[i-1][j][k])&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(j&nbsp;&amp;amp;&nbsp;2)&nbsp;dp[i][(j-2)&gt;&gt;1][k]&nbsp;=&nbsp;min(dp[i][(j-2)&gt;&gt;1][k],&nbsp;dp[i-1][j][k])&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(j&nbsp;&amp;amp;&nbsp;4)&nbsp;dp[i][(j-4)&gt;&gt;1][k]&nbsp;=&nbsp;min(dp[i][(j-4)&gt;&gt;1][k],&nbsp;dp[i-1][j][k])&nbsp;&nbsp;&nbsp;&nbsp;dp[i][j&gt;&gt;1|(k+p[i])/100*4][(k+p[i])%100]&nbsp;=&nbsp;min(dp[i][j&gt;&gt;1|(k+p[i])/100*4][(k+p[i])%100],&nbsp;dp[i-1][j][k]&nbsp;+&nbsp;p[i])#拼多多##软件开发2024笔面经##软件开发笔面经##拼多多笔试#
投递拼多多集团-PDD等公司10个岗位 软件开发2024笔面经 软件开发笔面经
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务