OD考试分享(求大佬解答)

OD考试分享(求大佬解答)
1.A, B 两人分西瓜,西瓜重量不同,A分西瓜的要求是B按照二进制加法的结果在可选范围内,计算但是不进位,如(5+6  = 101+110 = 011 = 3),B分西瓜就是十进制加法,问怎么在满足A的情况下,B分最多的西瓜,如果没有符合的情况返回-1
例:
输入: 3 5 6    
输出: 11
#华为OD#
全部评论
public class Main {     public static void main(String[] args) {         // 先明确一点:异或运算没有进位操作         Scanner scanner = new Scanner(System.in);         String[] sp = scanner.nextLine().split(" ");         int[] nums = new int[sp.length];         for (int i = 0; i < nums.length; i++) {             nums[i] = Integer.parseInt(sp[i]);         }         int sumA = 0;// A的计算方式是二进制,即异或         int totalSumB = 0;// B的计算方式是十进制         int minA = Integer.MAX_VALUE;         for (int num : nums) {             //如果所有数异或之后等于0,             //则说明任意一个数必然使得总体结果异或之后为0             sumA ^= num;             minA = Math.min(minA, num);//分配一个最小的一个给A即可             totalSumB += num;         }         int maxB = sumA == 0 ? totalSumB - minA : -1;         System.out.println(maxB);     } }
3 回复 分享
发布于 2022-06-21 10:36

相关推荐

怎么起名字:早知道就不读书了,害得我送外卖还得扶眼镜
点赞 评论 收藏
分享
06-19 19:06
门头沟学院 Java
码农索隆:别去东软,真学不到东西,真事
点赞 评论 收藏
分享
07-10 12:17
已编辑
商丘师范学院 Java
后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
无实习如何秋招上岸
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 17:10
什么素质,我请问呢,要掉小珍珠了。。。又憋屈又生气
Steven267:这不喷回去?花钱是大爷,记住这个道理
点赞 评论 收藏
分享
评论
1
8
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务