当前位置: 首页 > news >正文

华为OD真题--分苹果-带答案

有A,B两个同学想要分苹果。A的想法是使用二进制进行,1 + 1相加不进一位,如(9 + 5 = 1001 +101 = 12)。B同学的想法是使用十进制进行,并且进一位。会输入两组数据,一组是苹果总数,一组分别是每个苹果的重量。如果让B同学在满足A同学的情况下获取到苹果的总重量且返回,如果不能则返回-1。

输入

3

3 5 6

返回

11

备注:按照A同学的想法 5 + 6 =  3 (101 + 110 = 010)

思路:异或运算,排序取最大

/**常用的位运算符:与(&) 同1出1,有0出0或(|)有1出1,全0出0异或(^)相同出0,不同出1非(~)又叫取反左移 <<  (即乘2,最右边加个0)右移 >>  (即除2删掉最右边一位)*/
public class ShareApple {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int num = Integer.parseInt(sc.nextLine());int[] apple = new int[num];for (int i = 0; i < num ;i++){apple[i] = sc.nextInt();}int x = 0;for (int j = 0; j < apple.length;j++){//把所有苹果重量累加异或,如果结果为0则满足A条件,那么B在所有苹果中最小的一个给A,其它归Bx ^= apple[j];}//能满足A条件评分if (x==0){Arrays.sort(apple);int bApple = 0;for (int i = 1;i <apple.length;i++){bApple +=apple[i];}System.out.println(bApple);//不能满足A条件分苹果}else if (x!=0){System.out.println(-1);}}
}

http://www.lryc.cn/news/96210.html

相关文章:

  • 【前端实习评审】对小说详情模块更新的后端接口压力流程进行了人群优化
  • Factorization Machines(论文笔记)
  • Qt开发(5)——使用QTimer定时触发槽函数
  • 2023年JAVA最新面试题
  • (四)RabbitMQ高级特性(消费端限流、利用限流实现不公平分发、消息存活时间、优先级队列
  • Vue如何配置eslint
  • Elasticsearch查询文档
  • 面向对象编程:多态性的理论与实践
  • linux:filezilla root密码登陆
  • 在nginx上部署nuxt项目
  • 嵌入式linux通用spi驱动之spidev使用总结
  • 【Nodejs】Puppeteer\爬虫实践
  • Windows Active Directory密码同步
  • 安科瑞能源物联网以能源供应、能源管理、设备管理、能耗分析的能源流向为主线-安科瑞黄安南
  • FPGA设计时序分析一、时序路径
  • spring复习:(52)注解方式下,ConfigurationClassPostProcessor是怎么被添加到容器的?
  • 全国大学生数据统计与分析竞赛2021年【本科组】-B题:用户消费行为价值分析
  • 力扣1667. 修复表中的名字
  • 【设计模式】详解观察者模式
  • 用html+javascript打造公文一键排版系统8:附件及标题排版
  • 微服务体系<1>
  • M5ATOMS3基础02传感器MPU6886
  • vue 快速自定义分页el-pagination
  • 0-虚拟机补充知识
  • 如何将电机控制器添加到您的 ROS 机器人
  • ChatGPT统计“一到点就下班”的人数
  • Games101学习笔记 - 变换矩阵基础
  • Ubuntu18.04未安装Qt报qt.qpa.plugin could not load the Qt platform plugin xcb问题的解决方法
  • GPT4ALL私有化部署 01 | Python环境
  • GPT-AI 使用的技术概览