招商银行笔试题之修塔游戏
题目描述
小招正在玩一款修塔游戏:系统中有n座高塔,每座高塔由若干个高度相同的方块堆砌而成。修塔游戏的规则为:
- 每次从最高塔的塔尖拿走一个方块
- 每次在最低塔的塔尖堆砌一个方块
小招每次只能完成上述两个动作中的一个动作。游戏的目标是使n座高塔中至少有k座高塔的高度相同,请问小招最少需要多少次才能完成游戏。
输入描述:
输入共两行,第一行为n和k(1≤k≤n≤200000),第二行为n座塔的高度组成的数组 a1, a2, …an(1≤aj≤10000)。
输出描述:
输出值为最少需要多少次动作才能完成游戏。
示例1
输入
6 5
1 2 2 4 2 3
输出
3
AC代码 [ JAVA ]
public class Main {private static int moveBricksCount(int n, int k, int[] bricks, int sum) {int count = Integer.MAX_VALUE;Arrays.sort(bricks);int i = 0, si = 0, j;while (i < n) {j = i;while (j < n && bricks[j] == bricks[i]) {sum -= bricks[i];j++;}int nd = Math.max(0, k - j + i);if (nd == 0) {count = 0;}if (j >= k) {count = Math.min(count, i * bricks[i] - si - (i - nd));}if (n - i >= k) {count = Math.min(count, sum - (n - j) * bricks[i] - (n - j - nd));}count = Math.min(count, i * bricks[i] - si + sum - (n - j) * bricks[i] - (n - (j - i) - nd));si += bricks[i] * (j - i);i = j;}return count;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt(); int k = sc.nextInt(); int[] bricks = new int[n];int sum = 0; for (int i = 0; i < n; i++) {bricks[i] = sc.nextInt();sum = sum + bricks[i];}System.out.println(moveBricksCount(n, k, bricks, sum));}
}
招商银行笔试题之修塔游戏相关推荐
- 数据分析真题日刷 | 欢聚时代2018校招笔试题-产品经理/数据分析/游戏运营/市场专员 A卷
今日真题 欢聚时代2018校招笔试题-产品经理/数据分析/游戏运营/市场专员 A卷(来源:牛客网) 题型 客观题:单选5道,不定项选择10道 主观题:问答4道 完成时间 90分钟 牛客网评估难度系数 ...
- 招商银行笔试题之跳格子游戏
假设你正在玩跳格子(所有格子排成一个纵列)游戏.需要 跳完n 个格子你才能抵达终点. 每次你可以跳 1 或 2 个格子.你有多少种不同的方法可以到达终点呢? 注意:给定 n 是一个正整数. AC代码: ...
- 互联网公司招聘--阿里巴巴--游戏运营--2015年笔试题
互联网公司招聘–阿里巴巴–游戏运营–2015年笔试题 互联网公司招聘–阿里巴巴–游戏运营–2015年笔试题 互联网公司招聘–阿里巴巴–游戏运营–2015年笔试题 1.以下哪款不是手游网游___d__. ...
- 2019面试/笔试题(算法题)总结
实战链接:https://www.acwing.com/activity/content/8/ Google KickStart 2019 A轮 1. 训练 题目描述 作为一名学校足球教练,你的任务是 ...
- 2022年100家公司真实的面试题笔试题汇总
[1.中科软] 笔试题 1.谈谈你对测试的理解 2.你三年的职业规划 3.你对加班的看法?是否可以加班? 4.你心目中理想的公司怎么样?理想的工作环境?理想的同事关系? 5.你觉得这笔试答的如何?优势 ...
- 全网独家·首发2022年100家公司真实的面试题笔试题汇总
[文章末尾给大家留下了大量的福利] [1.中科软] 笔试题 1.谈谈你对测试的理解 2.你三年的职业规划 3.你对加班的看法?是否可以加班? 4.你心目中理想的公司怎么样?理想的工作环境?理想的同事关 ...
- 华为2016校园招聘上机笔试题
华为2016校园招聘上机笔试题 > 扑克牌大小 扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A,2各4张,小王1张,大王1张.牌面从小到大用如下字符和字符串表示(其中,小写joke ...
- 十月下旬腾讯,网易游戏,百度盛大迅雷校园招聘笔试题集锦(10.25)
十月下旬腾讯,网易游戏,百度最新校园招聘笔试题集锦 引言 笔试啊,笔试,面试啊,面试,找工作啊,找工作.此文十月百度,阿里巴巴,迅雷搜狗最新面试十一题已经整理了最新的面试题70道,本文依次整理腾讯,网 ...
- 十月下旬腾讯 网易游戏 百度迅雷校园招聘笔试题集锦 第271 330题
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 十月下旬 ...
- 2012九月十月腾讯,网易游戏,百度最新校园招聘笔试题
十月下旬腾讯,网易游戏,百度最新校园招聘笔试题集锦(第271-330题) 引言 此文十月百度,阿里巴巴,迅雷搜狗最新面试十一题已经整理了最新的面试题70道,本文依次整理腾讯,网易游戏,百度等各大公司最 ...
最新文章
- [讨论]你的女朋友值多少钱?
- 软件系统维护是一项不吸引人的工作_测试人员必须了解的软件测试工作规范
- java中super关键字_java中super关键字有什么用法
- java定时执行一次_java Timer(定时调用、实现固定时间执行)
- 机器学习 来源框架_机器学习的秘密来源:策展
- 语言认知偏差_认知语言学可以教给开发人员什么
- hello ,test livewriter
- 电子数字 网易游戏在线笔试 第一题 hihocoder
- linux引导过程和服务控制
- 企业级应用与互联网应用的区别?
- 在测试中发现错误,不要着急去改,静下心来,想一想错误的关联性( 错误展开确认 )。
- 如何快速掌握计算机知识,怎样快速学会电脑 学电脑的5种方法推荐
- SpringCloud Feign使用详解
- 用js判断空对象的几种方法
- html网页转换swf格式,swf格式转换器 轻松将swf转mp4(swf转avi)视频格式
- Adbyby无法更新规则的解决方案
- 导入的素材PS突然很卡,但是内存足够、素材图层也不多。。。该怎么办呢????
- flask读书笔记-flask web开发
- Mysql 安装,及其闪退的问题解决
- LeetCode_OJ【262】Trips and Users