题目
输入输出
解题思路
1、 第一次在leetcode上刷题,写这个题,主要是为了明白leetcode上代码提交格式与其他OJ上的不同,需要根据他给出的代码,在里面完成题目的要求,不需要主函数,系统会自动调用给出的哪个函数,所有只需要写出关键的代码即可。输入也不需要写。
2、 这道题利用随机数的思想,随机生成一个数a,b=n-a,然后判断a,b是否含有0即可。
3、 再判断是否含有0的时候,可以使用将数字转换成字符串,然后再判断每一个字符是否为0,即可。
参考代码
package DayDaytt;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class T112B {
/*
* 没按照格式写的代码
* 测试数据也能过
* 但是提交格式不对
*/
// public static boolean find(int a) {
// while(a>0) {
// if(a%10==0) {
// return false;
// }else
// a/=10;
// }
// return true;
// }
//
// public static void show(int a) {
// int arr[]=new int[2];
// for(int i=1;;i++)
// {
// if(find(i)&&find(a-i))
// {
// arr[0]=i;
// arr[1]=a-i;
// System.out.println(Arrays.toString(arr));
// break;
// }
// }
// }
// public static void main(String[] args) {
// Scanner sc=new Scanner(System.in);
// int n=sc.nextInt();
// show(n);
//
//
// }
//帮助测试的代码
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
Solution s=new Solution();
System.out.println(Arrays.toString(s.getNoZeroIntegers(n)));
}
}
//下面是正确格式的提交代码
class Solution {
public int[] getNoZeroIntegers(int n) {
Random random = new Random();
int a = random.nextInt(n);
int b = n - a;
while (hasZero(a) || hasZero(b)) {
a = random.nextInt(n);
b = n - a;
}
int[] res = new int[2];
res[0] = a;
res[1] = b;
return res;
}
boolean hasZero(int n) {
String s = String.valueOf(n);
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == '0') {
return true;
}
}
return false;
}
}