第四题求最多末尾0,感觉思路没问题,只过了4.5%,不知道哪错了 public class Main { private static int res = 0; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[][] help = new int[n][2]; for(int i=0;i<n;i++){ int num = sc.nextInt(); while(num%5 == 0){ help[i][0]++; num /= 5; } while(num%2 == 0){ help[i][1]++; num /= 2; } } backTrack(0,help,0,0,true); System.out.println(res); } private static void backTrack(int i,int[][]help,int num5,int num2,boolean canTake){ if(i == help.length){ res = Math.max(res,Math.min(num2,num5)); return; } backTrack(i+1,help,num2,num5,true); if(canTake){ backTrack(i+1,help,num5+help[i][0],num2+help[i][1],false); } } }
点赞 2

相关推荐

2024-12-23 11:36
中南大学 Java
点赞 评论 收藏
分享
一天代码十万三:实习东西太少了,而且体现不出你业务,3个月不可能就这点产出吧,建议实习多写点,玩具项目面试官都不感兴趣的
点赞 评论 收藏
分享
牛客网
牛客企业服务