网易笔试编程-数字游戏

2023-11-06

小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个数中选取部分求和的数字中的最小数。
输入描述:
输入第一行为数字个数n (n ≤ 20)
第二行为n个数xi (1 ≤ xi ≤ 100000)
输出描述:
输出最小不能由n个数选取求和组成的数
输入例子:
3
5 1 2
输出例子:
4
这是牛客网上一名同学的做法:

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main(void)
{
    int n;
    cin >> n;
    vector<int> nums;
    while (n--)
    {
        int temp;
        cin >> temp;
        nums.push_back(temp);
    }
    sort(nums.begin(), nums.end());
    int sum = 0;
    for (unsigned int i = 0; i < nums.size(); ++i)
    {
        if (nums[i] - sum > 1)
        {
            break;
        }
        else
        {
            sum += nums[i];
        }
    }
    cout << sum + 1 << endl;
}

我在这里记录下我的理解思路:
这个题目可以转化为判断一个数字序列是否是连续的,如果不是连续的,断点在哪儿?证明如下:
假设有一系列数字a1,a2,a3,… ,an能自由组合成连续的0~kn个数,那么a1, a2, a3, …, an, a(n+1)就能自由组合成连续的0 ~kn和a(n+1) ~kn + a(n + 1),若要证明0 ~ kn + a(n+1)是连续的,只要证明kn和a(n+1)是连续的,要想使kn和a(n+1)是连续的,只需要a(n+1) - kn <= 1即可。而这里的kn是等于a1 + a2 + a3 +… + an的。如果没有数字,当然能够得到0~0个连续的数字,也就是说当没有数字,kn为零时,假设成立,那只需要满足a(n+1) - kn <= 1即可得到任意连续的组合,也就是程序中所说的当
a(n + 1) - kn > 1时,a(n+1)和kn之间是不连续的,而不连续的最小数字就是kn+1。
若有不对之处,敬请指正。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网易笔试编程-数字游戏 的相关文章

  • 机器学习_周志华_问题汇总_第2周

    问题 Q1 如果我想分析一下文本分类错误的原因 应该从哪些方面入手 可以去分析一下哪个类别错误率高 然后看看这个类别的是否不平衡 针对这个类别看看能不能进行改进 还有就是数据量过少 或是数据质量较差 比如人为标注的样本可能类别是不正确的 都
  • 构建时 flatten-maven-plugin报错问题

    ERROR Failed to execute goal org codehaus mojo flatten maven plugin 1 2 4 flatten flatten on project 构建项目时发生以上错误 最后成功解决
  • 来,创建一个高效的IMEI编码生成器

    0x1 起因 话说 今天下午群里面有个同学求助一段代码 他想问的是 这个 tempimei j 2 0x30 是啥子意思 0x2 其实这是很常见的一种写法 我们留意到 tempimei 这个变量其实是一个字符串 在 NET中 对一个字符串取
  • Yolo 推测的候选框NMS笔记

    YOLOV3 NMS笔记 1 参数 假设当前网络输入大小为416 416 分类为3个 a b c 每个YOLO层3个anchor 输入图像 img 1 3 416 416 代表这个批次内一张图片 通道为3 经过降采样最大的YOLO层后 yo
  • TortoiseGit更换用户名和密码

    选择 TortoisGit 然后选择 设置 选择 已保存数据 然后 清除 认证数据 清除后 重新 pull 拉取 数据 会让重新输入用户名和密码
  • 微信小程序授权登录,跳转页面后在跳回首页不用再次登录

    小程序授权登录要使用wx getUserProfile 获得用户投头像后 做一些页面跳转功能 但是如果需要再次跳转首页的话 小程序就会有回到登录前的状态 这样体验感会很差 要想不用再次登录 也不难 只需要判断userInfo是否还存有信息就
  • 三种方式部署单机版Minio,10行命令干就完了~

    必要步骤 安装MinIO 拉取MinIO镜像 docker pull quay io minio minio 创建文件挂载点 mkdir home docker MinIO data 文件挂载点映射 默认是 mydata minio dat
  • JS中splice的详细用法介绍

    splice 是一个用于修改数组的方法 它可以实现添加 删除或替换数组中的元素 下面是 splice 方法的中文解释 splice 方法的语法如下 array splice start deleteCount item1 item2 参数说
  • 推荐系统学习总结

    前段时间参加了泰迪杯数据挖掘挑战赛 选的是B题电视产品营销推荐 由于涉及到推荐系统这一块比较大的知识领域 之前没有学过 于是在比赛之初找了一些网上的资料自学了几天 有了一些初步的了解与认识 因实训的项目中推荐系统仍是很重要的一部分 故重新再
  • win7下linux 双系统安装教程,【系统安装】双系统——Win7下安装linux系统详细步骤...

    preface html 1 在Win7下安装linux系统以前 若是以前安装过linux系统 可能会遇到须要从新安装的问题 linux 由于linux系统是安装在win7系统下的一个系统盘分区中 若是须要卸载linux直接把分区删除就能够
  • VLC使用教程(一):使用VLC录制屏幕

    1 打开VLC 选择媒体 gt 打开捕获设备 2 选择捕获设备 捕获模式选择桌面 捕获期望的帧率以及更多选项中的缓冲根据需求设置 3 点击播放按钮右侧的下拉三角 选择转换 4 点击目标文件右侧的浏览 选择文件放置路径 填写MP4文件的名字
  • nova6se可以升级鸿蒙吗,EMUI11支持哪些机型 华为EMUI11适配支持机型汇总

    华为最新的EMUI11公布了 不少的用户都想试试华为最新的这个EMUI11系统 下面就来为大家分享一下华为EMUI11适配支持机型汇总 1 首批支持EMUI11 更新的机型有 P40 系列 Mate30 系列 MatePad Pro系列等
  • 打印U盘文件计算机有记录吗,技术员教你win10系统查看打印机打印历史记录的问题...

    技术员教你win10系统查看打印机打印历史记录的问题 很多朋友安装win10系统后 在使用的过程中会遇到对win10系统查看打印机打印历史记录进行设置的情况 可能有很多用户还是不能自己对win10系统查看打印机打印历史记录进行设置吧 其实简
  • 添加购物车接口

    添加购物车接口 1 判断商品是否存在 是否上架 库存足够 2 判断商品之前是否已经在购物车里 3 返回的是当前用户的所有购物车物品信息 注意 测试 controller层 获取当前用户id下的购物车信息 1 判断商品是否存在 是否上架 库存

随机推荐

  • 华为OD机试真题- 字符串统计-2023年OD统一考试(B卷)

    题目描述 给定两个字符集合 一个为全量字符集 一个为已占用字符集 已占用的字符集中的字符不能再使用 要求输出剩余可用字符集 输入描述 1 输入为一个字符串 一定包含 符号 前的为全量字符集 后的字为已占用字符集 2 已占用字符集中的字符一定
  • MFC——获取当前字体的高度、宽度等信息

    当我们想往屏幕上面写多行内容时 我们需要之前当前文本的宽度和高度信息 我们可以采用以下方法 void CDialogView OnDraw CDC pDC CDialogDoc pDoc GetDocument ASSERT VALID p
  • JAVA String 常用方法(超详细)

    文章目录 一 常见String类的获取功能 1 length 获取字符串长度 2 charAt int index 获取指定索引位置的字符 3 indexOf int ch 返回指定字符在此字符串中第一次出现处的索引 数字是ASCII码中对
  • Android中保存图片到本地功能实现

    本文描述将一个Bitmap对象保存为一个图片文件的主要步骤 保存的图片文件能够立刻在系统相册和图库中找到 主要步骤 这里只介绍按下 保存 后如何将一个Bitmap对象保存为图片文件的执行步骤 对图片的下载 图片到Bitmap对象的转换 Bi
  • Unity如何获取鼠标当前帧和上一帧的屏幕坐标差

    在实际开发过程中 经常用到获取鼠标当前帧和上一帧的屏幕坐标差 今天我就简单写一个框架 希望对大家有所帮助 注意在计算两帧坐标时 一定要记得把第一帧去除 否则会出现跳动 给人以不连续感觉 FR 海涛高软 Hunk Xu QQ群 3864767
  • Java中的运行时异常

    Throwable 是所有 Java 程序中错误处理的父类 有两种子类 Error 和 Exception Error 表示由 JVM 所侦测到的无法预期的错误 由于这是属于 JVM 层次的严重错误 导致 JVM 无法继续执行 因此 这是不
  • 软件工程专业计算机毕设选题推荐

    同学们好 这里是海浪学长的毕设系列文章 对毕设有任何疑问都可以问学长哦 大四是整个大学期间最忙碌的时光 一边要忙着准备考研 考公 考教资或者实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难
  • 【MySQL数据库

    目录 编辑 前言 DML介绍 语法详情 1 插入数据 特点 1 给指定字段添加数据 代码示例 运行结果 2 给所有的字段添加数据 代码示例 运行结果 3 批量添加数据 代码示例1 运行结果1 代码示例2 运行结果2 2 修改数据 有条件的代
  • MyBatis传入参数为list、数组、map写法

    1 美图 如果传入的参数只是一个list
  • Kafka消费者之Offset、重复消费、消费者事务及消息积压

    一 offset 位移 1 1 offset 的默认维护位置 consumer offsets 主题里面采用 key 和 value 的方式存储数据 key 是 group id topic 分区号 value 就是当前 offset 的值
  • Java 对象toString()之后转化成json对象

    在平时的工作中经常遇到Java对象toString 之后打印出来 在发生线上问题时需要参数重新调用时 无法转化参数 如下图 TransOccupyRequestDTO newOrderId 390310807 transOccupyDeta
  • 手把手教你SPSS进行ROC曲线分析

    ROC曲线也叫受试者工作曲线 原来用在军事雷达中 后面广泛应用于医学统计中 ROC曲线是根据一系列不同的二分类方式 分界值或决定阈 以真阳性率 灵敏度 为纵坐标 假阳性率 1 特异度 为横坐标绘制的曲线 ROC曲线主要应用于二分类结局 比如
  • Mac上最强大好用的的右键工具「超级右键」(3)--常用目录/进入终端/iTerm

    1 常用目录 不知道大家有没有和我一样 在Mac上打开一些经常要用的文件夹的时候很烦 要么存放位置很深 如果放在桌面又显得很凌乱 这个App就很好的帮我解决了这个问题 首先 我提前设置好常用目录 要打开的时候 只需要在空白地方右击 在右键菜
  • 常见JVM面试题及答案整理

    前言 总结了JVM一些经典面试题 分享出我自己的解题思路 希望对大家有帮助 有哪里你觉得不正确的话 欢迎指出 后续有空会更新 1 什么情况下会发生栈内存溢出 思路 描述栈定义 再描述为什么会溢出 再说明一下相关配置参数 OK的话可以给面试官
  • Vue3 实现页面登陆后dialog弹框只弹一次

    代码如下 复制弹框至登陆后的第一个页面 div class activity div
  • 使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。

    无法显示 XML 页 使用 XSL 样式表无法查看 XML 输入 请更正错误然后单击 刷新按钮 或以后重试 名称以无效字符开头 处理资源 http localhost Asp net Default aspx 时出错 第 1 行 位置 2
  • #初学者必看#手把手教你写三子棋教程#B站鹏哥

    前言 会写的不一定真的懂了 本篇文章结合了B站鹏哥的写作手法 循序渐进推进知识点 一步步教你写代码 非常适合初学者学习 建议反复观看 同时作者我也是一个C语言B站初学者 欢迎一起学习交流 批评指正 让我们先写一个大纲 告诉你的电脑要做什么
  • 使用python进行企业微信机器人自动发送消息

    import requests def test robot message1 message2 headers Content Type text plain message 需要发送的消息 消息1 消息2 format str mess
  • mysql最新高可用_(5.1)mysql高可用系列——高可用架构方案概述

    关键词 mysql高可用概述 mysql高可用架构 常用高可用方案 20190918 现在业内常用的MySQL高可用方案有哪些 目前来说 用的比较多的开源方案分内置高可用与外部实现 内置高可用有如下 1 官方版本分支 MGR 首推 2 pe
  • 网易笔试编程-数字游戏

    小易邀请你玩一个数字游戏 小易给你一系列的整数 你们俩使用这些整数玩游戏 每次小易会任意说一个数字出来 然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字 例如 如果 2 1 2 7 是你有的一系列数 小易说的数字是11