牛客网 - 模拟笔试.天弃之子

途虎养车牛客网笔试模拟记错本 修订 阅读详情

题目

有一款游戏,过关的方式是按按钮。
游戏一共有n关,每一关有a[i]个按钮,其中只有唯一一个按钮是可以通关的,按下其他的按钮游戏就会失败。
好在这个游戏可以重来,而且由于设计者的疏忽,每一关的通关按钮是不变的,所以你可以记住前几关的按钮,重来时就可以直接通关。
但是…你的运气似乎用在了其他地方,你使用了最多的按按钮次数才成功通关。
求这个最多的按按钮次数吧!

备注

输入一维数组a[i],表示每一关的按钮数
1 ≤ a[i] ≤ 10^5
1 ≤ a[i] 数组的长度 ≤ 10^5

  • 输入

[1,1,4,5,1,4]

  • 输出

49

思路

  • 假设最理想的情况下一次就能顺利过关
    • 即没关只需按一次,则按按钮次数为数组的长度(a.length)
    • 去掉正确的按钮,则每关要失败a[i]-1次
    • 可转换为每关失败次数[0,0,3,4,0,3]
  • 每次执行都需要先执行前 i-1 关
    • 例如:第三关要执行3次失败,每次都要先执行前两关,再执行第三关
    • 即每次都要按 i 次按钮,共(a[i]-1)* i 次

题解

public long findMaxButtons (int[] a) {
    long res = a.length;
    for(int i = 0; i < a.length; i ++) {
        // 第i关要失败a[i] - 1次,每次都要按i次按钮,共(a[i] - 1) * i次
        // i表示第几关,i从0开始,故+1
        res += (long)(a[i] - 1) * (i + 1);
    }
    return res;
}

复杂度分析

  • 时间复杂度:O(N)
  • 空间复杂度:O(1)
2025年小红书校招笔试攻略 小红书25年的笔试已经悄然开始啦!在这里我们整理了之前小红书的笔试资料,希望能够帮助小伙伴们上岸!!! 阅读详情

相关推荐

【From牛客网】各厂笔试训练题目

声明:题目来源是牛客网,本人不对题目真实性负责,仅供参考、分享。 提前体验各厂在线笔试编程题目

Jacketinsysu的专栏 1319

【牛客】测试笔试题(1)

自己学习

weixin_61734160的博客 419

leetcode计算机刷墙-leecode_python:每天一个leetcode使报价远离

leetcode计算机刷墙 刷题记录(个人) 不知道什么时候就放弃更新了,所以就不写什么长篇大论了。省的浪费时间。 来源: leetcode lintcode 牛客网 …… 参考: leetcode官方题解 花花酱leetcode …… 图 题目 难度 易错点 中等 1、for i in range(1 开始, ) 2、建立双向映射(题目是无向图),而非单向(这是有向图的解法) for (x, y) in dislikes: graph[x].add(y)\n graph[y].add(x) ; 中等 可以将过去的数据标记为另一个值,表示已经走过了,这样就省略了visited单独用于表示是否已经访问过。会节省很多事。 中等 将岛屿的参数进行修改,和980的思路类似~此题是走过的路径置为零。 稍微长一点的文本 短文本 中等文本 稍微长一点的文本 短文本 中等文本 二分搜索 题目 难度 易错点 中等 各种细节bug,需要足够仔细 稍微长一点的文本 短文本 中等文本 动态规划 题目 难度 易错点 中等 想不出转移方程 中等 最大值可能会出现在中间的状态里。 中等 字节跳动考了一道类似的改编题

【编程】牛客网第四次模拟笔试

庆祝61 牛家庄幼儿园为庆祝61儿童节举办庆祝活动,庆祝活动中有一个节目是小朋友们围成一个圆圈跳舞。牛老师挑选出n个小朋友参与跳舞节目,已知每个小朋友的身高h_i。为了让舞蹈看起来和谐,牛老师需要让跳舞的圆圈队形中相邻小朋友的身高差的最大值最小,牛老师犯了难,希望你能帮帮他。 如样例所示: 当圆圈队伍按照100,98,103,105顺时针排列的时候最大身高差为5,其他排列不会得到更优的解

Achiberx 1644

《C语言小游戏之贪吃蛇程序代码》

//为广大编程游戏爱好者提供一个参考的游戏源代码#include&lt;stdio.h&gt;#include&lt;conio.h&gt;#include&lt;windows.h&gt;#include&lt;time.h&gt;#define framex 5#define framey 5#define wide 20#define high 20int i,j,a[2];//将光标移动到...

qq_42052821的博客 2万+

从标准到实战:详解IEC 61000-4-2下的ESD电路防护设计

本文深入解析IEC 61000-4-2标准下的ESD电路防护设计,从静电防护的基础原理到实战应用。详细介绍了接触放电与空气放电的区别、防护器件选型要点(如TVS管和压敏电阻)以及PCB布局的黄金法则,帮助工程师有效提升电子产品的抗静电能力,确保设备在严苛环境下的稳定运行。

weixin_33704234的博客 512

【编程】牛客网第三次模拟笔试

第一题: 牛牛想对一个数做若干次变换,直到这个数只剩下一位数字。 变换的规则是:将这个数变成 所有位数上的数字的乘积。比如285经过一次变换后转化成2*8*5=80. 问题是,要做多少次变换,使得这个数变成个位数。 输入描述: 输入一个整数。小于等于2,000,000,000。 输出描述: 输出一个整数,表示变换次数。 输入例子: 285 输出例子: 2#include <i

Achiberx 1311

科研指南:IEEE期刊LaTeX/Word模板下载与使用全解析

本文详细解析了IEEE期刊LaTeX/Word模板的下载与使用技巧,帮助科研人员高效完成论文排版。从官方模板获取入口到LaTeX文档结构配置,再到Word样式管理与常见问题解决方案,全面覆盖投稿准备的关键步骤。特别针对数学公式、参考文献和图片处理等难点提供实用建议,助力学术写作规范化。

weixin_28396629的博客 565

牛客网第一次模拟笔试总结

1. 函数调用依托的数据结构——堆栈 2. KMP算法 核心代码为next数组(用python实现) def getNext(p): nex = [0] * len(p) nex[0] = -1 i=0 j=-1 while i < len(p)-1: if j==-1 or p[i]==p[j]: i+=1 j+=1 ...

艾米栗的代码天地 1003

YOLO26剪枝 lamp剪枝测试精度仅掉0.7个点,速度提高11.8fps!

针对没有如何去选择剪枝的内容LAMP是层自适应幅度调整剪枝,无需任何参数,通过算法内部自己计算每个层的重要程度进行剪枝。基于权重重要程度和该层权重大小关系,权重越大表明该层越重要的思想进行优化。这个跟我前面说的非结构化全局剪枝是一个解法(MP),也就是lamp是在我前面那个非结构化剪枝的基础上进行优化的。但是这个逐层进行非结构剪枝目前还没有一个清晰的概念,确定每个层要剪枝多少。LAMP得分是一个平方权重大小,由层中所有“幸存权重”的总和归一化。

m0_64661770的博客 673

CDD数据库文件制作(二)——服务配置(0x27)

主要根据诊断调查表,针对0x27服务在CDD中的每一步配置给出详细介绍 1.会话切换配置 1.1.根据诊断调查表进行信息提取 1.2.子功能添加 1.2.1.Level1安全等级1创建 1.2.2.Level3安全等级3创建 1.2.3.安全等级名字查看与修改 1.3.会话切换信息提取(应用程序下) 1.4.会话转换配置(应用程序下) 1.5.会话切换信息提取(引导程序下) 1.6.会话转换配置(引导程序下) 2.安全等级配置信息提取 2.1.安全访问配置(level1) 2.2.安全访问配置(level2

LOVE135149的博客 2928

牛客【2021】第三次校招模拟笔试(编程题部分)

牛客【2021】第三次校招模拟笔试(编程题部分) 第一题:牛牛A+B 牛妹在黑板上写下两个正整数a,b。她想让牛牛帮忙计算“A+B”,牛牛一听,这还不简单?但是牛妹说:此“A+B”非彼“A+B”,而是要先把a重复b次,把b重复a次,再计算刚刚得到的这两个数字的和。 这下可难到了牛牛,请帮助牛牛解决这个问题吧! 现在给你a,b返回牛妹要求的正确答案。 思路:转换为字符串 class Solution: def NNAplusB(self , a , b ): a,b = int(str(a

qq_43710889的博客 1187

数据分析案例-2024 年全电动汽车数据集可视化分析

本数据集来源于Kaggle,原始数据集共有177866条数据,17个变量。该数据集显示了目前通过华盛顿州许可部 (DOL) 注册的电池电动汽车 (BEV) 和插电式混合动力电动汽车 (PHEV)。电池电动汽车 (BEV) 是一种全电动汽车,使用一个或多个电池来存储电能,为电机提供动力,并通过将车辆插入电源进行充电。插电式混合动力汽车 (PHEV) 是一种使用一个或多个电池为电动机提供动力的车辆;使用另一种燃料,例如汽油或柴油,为内燃机或其他推进源提供动力;并通过将车辆插入电源来充电。

m0_64336780的博客 1万+

牛客网2021校招模拟笔试一模(三月份)编程题解析

题目1:天弃之子 标题:天弃之子 时间限制: 3秒 内存限制: 262144k 语言限制:不限 有一款游戏,过关的方式是按按钮。游戏一共有几关,每一关有a[i]个按钮,其中只有唯一一个按钮是可以通关的,按下其他的按钮游戏就会失败。 好在这个游戏可以重来,而且由于设计者的疏忽,每一关的通关按钮是不变的,所以你可以记住前几关的按钮,重来时就可以直接通关。 但是你的运气似乎用在了其他地方,你使用了最多的按按钮次数才成功通关。求这个最多的按按钮次数吧! 解题思路 题目提炼: 游戏共有n关,每一关有a[i]个按钮,

Viper的程序员修炼手册 1247

Simulink开发项1000例实战专栏--实例52:基于Simulink开发一个超导磁储能控制系统,实现对SMES系统的精确控制和优化

需求分析超导磁储能系统(Superconducting Magnetic Energy Storage, SMES)是一种利用超导线圈储存和释放电能的高效储能技术。SMES系统具有响应速度快、能量密度高、循环寿命长等优点,广泛应用于电力系统的调峰填谷、频率调节、电压稳定以及紧急备用电源等领域。本项目将基于Simulink平台,开发一个完整的超导磁储能控制系统,实现对SMES系统的精确控制和优化。我们将详细讲解如何设计和实现该系统,并结合实际应用案例进行说明。

xiaoheshang_123的博客 236

【推荐100个unity插件之7】使用BehaviorDesigner插件制作BOSS的AI行为树

Behavior Designer是一个行为树插件,是一款为了让策划,程序员,美术人员方便使用的可视化编辑器。Behavior Designer提供了强大的AP1可以让你轻松的创建tasks(任务),配合uScript和PlayMaker这样的插件,可以不费吹灰之力就能够创建出强大的Al系统,而无需写行代码。(不懂PlayMaker的,我后面在单独出文章介绍一下,可以期待一下)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 6564

牛客网笔试输入输出的一堆坑。。(Python)

牛客网笔试的时候Python的输入输出是真的很坑,有时候线下自测案例是正常的,线上却怎么都调不过去,这里简单记录一下。 一、常见输入输出的写法 1、input #直接使用input(),读取回来的是字符串,比如输入为“abds”,n就为“abds” n = input() ▲需要注意的是input()是一行一行读取的,也就是每次只能读取一行,需要读取第二行的话要再调用一次input()。 当然很多时候我们输入是一个列表,我们可以用以下的方法将其分割为列表。 n_list = list(map(int, i

藏晖的博客 5054

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【大厂笔试心得,你还不知道笔试的思路吗?】-- ACM模式篇、笔试题型介绍以及相关准备

大厂笔试心得之】-- ACM模式、笔试题型介绍以及相关准备 ACM练习网址 我在LeetCode上找到一本好书 谈谈我最近的笔试经验 题型篇 性格测试 + 数学 + (阅读) + 智商题 选择 + 不定项 + 论述题 编程题 + 技术类问答 + 情商题 具体案例 + ACM模式编程🐶 + 核心代码模式编程 学习思路篇 总结 + 思考 + 回顾 +联系 = offer 🐶 推荐的笔试学习路线 算法 面试题目

qq_44005101的博客 5200

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

笔试模拟 day11

本文记录了作者在牛客网上的三道笔试题的解题思路与代码实现。第一题是关于组合包的最大价值问题,作者提出了暴力枚举和贪心两种解法,并指出贪心解法在某些情况下可能不适用,最终通过暴力枚举实现了代码。第二题是买卖股票的最佳时机问题,作者提供了贪心和动态规划两种思路,并通过动态规划实现了代码。第三题是字符串翻转问题,作者通过逐个单词翻转并重新组合的方式实现了字符串的倒置。每道题的思路和代码都详细展示,并附有作者的个人理解和分析。

hi0_6的博客 1098

笔试模拟 day9

笔试所有系列文章均是记录本人的笔试题思路与代码,从中得到的启发和从别人题解的学习到的地方,所以关于题目的解答,只是以本人能读懂为目标,如果大家觉得看不懂,那是正常的。如果对本文的某些知识有不同的观点,欢迎讨论。

hi0_6的博客 839

笔试模拟 day16

本文记录了作者在牛客网上的三道笔试题的解题思路与代码实现。第一题是字符串替换,通过双指针模拟替换过程,并确保填充数组完全使用。第二题是判断“神奇数”,通过枚举范围内的数字,判断其是否由质数组成,采用试除法或预判质数的方法。第三题是DNA序列的滑动窗口问题,通过暴力枚举窗口内的GC含量,找到最大值对应的子串。每道题都提供了详细的代码实现,并鼓励读者对解题思路进行讨论和优化。

hi0_6的博客 1079

牛客网2018年校招全国统一模拟笔试(第一场) [python]

第一题:密码翻译解题思路:字典用字典这种hash表快速实现密码翻译。dictionary = dict() for i in range(65, 90): dictionary[chr(i)] = chr(i+1) dictionary[chr(90)] = chr(65) for i in range(97, 122): dictionary[chr(i)] = chr(i+1...

ChrisMinions小站 1325

笔试模拟 day4

--------------------------------------------------我是分割线-------------------------------------------------------------笔试所有系列文章均是记录本人的笔试题思路与代码,从中得到的启发和从别人题解的学习到的地方,所以关于题目的解答,只是以本人能读懂为目标,如果大家觉得看不懂,那是正常的。如果对本文的某些知识有不同的观点,欢迎讨论。

hi0_6的博客 658

牛客网第三次模拟笔试第三题

牛客网第三次模拟笔试----编程第三题 题目 大意,就是有一个数组 eg input[1,5,2,6] 要输出的结果就是一个相同大小的数组h h[i]代表的含义就是,将输入数组中的每一位都变成input[i]所需与的操作数,操作只允许在别的位上加1或者减一 思路 思路就是前缀和,如过数组长度比较小,那么就可以用map来进行题解 什么是前缀和,前缀和有什么用 sum[i]代表的是[0---i-1]的这个一个区间的和 那么好处和作用就很明显,就是能够快速的计算某一个区间的和 那么以 [1,5,2,6]为例,要

ahelloyou的博客 411

笔试模拟 day15

笔试所有系列文章均是记录本人的笔试题思路与代码,从中得到的启发和从别人题解的学习到的地方,所以关于题目的解答,只是以本人能读懂为目标,如果大家觉得看不懂,那是正常的。如果对本文的某些知识有不同的观点,欢迎讨论。题目链接:【重做】【重做】---------------------------------------------------我是分割线---------------------------------------------------------------

hi0_6的博客 778

笔试模拟 day7

--------------------------------------------------我是分割线-------------------------------------------------------------笔试所有系列文章均是记录本人的笔试题思路与代码,从中得到的启发和从别人题解的学习到的地方,所以关于题目的解答,只是以本人能读懂为目标,如果大家觉得看不懂,那是正常的。如果对本文的某些知识有不同的观点,欢迎讨论。

hi0_6的博客 1001
上一篇: 二元运算符
下一篇: com.fasterxml.jackson.core.JsonParseException
hanlin-hl
博客等级 码龄8年 3粉丝 35原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hanlin-hl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值