9.3百度Java开发笔试题,第一题

符合条件的第一个非0数是5555555550,9个5,1个0;
于是5的个数必须是9的整数倍,0至少1个;
例如:18个5和1个0,可以写成(5555555550000000000+5555555550),它肯定能被90整除。
于是直接输出符合条件的结果就可以了,代码如下:
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int[] nums=new int[n];
        int count_0=0;
        int count_5=0;
        for(int i=0;i<n;i++){
            nums[i]=sc.nextInt();
            if(nums[i]==0)count_0++;
            else count_5++;
        }
        if(count_5==0){//如果全0
            System.out.println(0);
            return;
        }
        if(count_5%9==0){
            if(count_0==0){
                System.out.println(-1);
                return;
            }else{
                for(int i=0;i<count_5/9;i++){
                    System.out.print("555555555");
                }
                for(int i=0;i<count_0;i++){
                    System.out.print("0");
                }
            }
        }else{
            System.out.println(-1);
        }
    }
}



#百度笔试##笔试题型##百度#
全部评论
5的个数并不是必须9的倍数,只要大于等于9即可
1
送花
回复
分享
发布于 2020-09-04 17:52
代码有问题啊老哥。而且比如我输入10个5,一个0,你这直接就返回-1了,但是九个5加一个零是可以的。所以不能根据5的个数来判断。
点赞
送花
回复
分享
发布于 2020-09-04 15:00
秋招专场
校招火热招聘中
官网直投
public class test {    public void maxNum(){        int count = 0;        StringBuilder zero = new StringBuilder();        Scanner in = new Scanner(System.in);        int n = in.nextInt();        in.nextLine();        String str = in.nextLine();        String [] temp =str.split(" ");        for(String s:temp){            if(s.equals("5")){                count++;            }            else zero.append('0');        }        String res ="";        if(count == 0)            System.out.println("0");        else if(count<9||count==temp.length)            System.out.println("-1");        else {            for(int i=0;i<count/9;i++)                res+="555555555";            System.out.println(res+zero.toString());        }    }     public static void main(String args[]) {         test obj =new test();         obj.maxNum();     } } 我感觉我这样应该可以,不过全零的时候不应该输出0吗😂
点赞
送花
回复
分享
发布于 2020-09-04 15:32

相关推荐

1 5 评论
分享
牛客网
牛客企业服务