Shopee笔试题2019 零食柜_cong_han的博客-程序员秘密

技术标签: leetcode  

链接
https://www.nowcoder.com/practice/24a1bb82b3784f86babec24e4a5c93e0?tpId=98&tqId=33065&tPage=1&rp=1&ru=/ta/2019test&qru=/ta/2019test/question-ranking

跟着音乐的节奏来跑步,音乐有7种音符,对应的是1到7,那么他对应的步长就可以是1-7分米,这样的话他就可以转移注意力了,但是他想保持自己跑步的速度,在规定时间m分钟跑完

输入

n个数 ,m分钟
6 5 6 7 6 6 3 1

输出

11 //每分钟应该跑的步长

import java.util.Scanner;
//import java.util.*;

public class Main{
    
    public static void main(String args[]){
    
    	Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[] array = new int[n];
        for(int i=0; i<n; i++){
    
            array[i] = in.nextInt();
        	String str=in.next();
        }
        int[] nums=new int[n];
        int max=0,sum=0;
        for(int i=0;i<n;i++){
    
            int num=sc.nextInt();
            nums[i]=num;
            max=Math.max(max,num);
            sum+=num;
        }
        int left=max,right=sum;
        int mid=0;
        int result = 0;
        System.out.print();    
        while(left<=right){
    
            mid=left+(right-left)/2;
            if(check(nums,mid,n,m)){
    
                right=mid-1;
            }else{
    
                left=mid+1;
            }
        }
        System.out.println(mid);//数据有错,应该输出left的
    }
    public static boolean check(int[] nums,int mid,int n,int m){
    
        int temp=0,count=0;
        for(int i=0;i<n;i++){
    
            if(temp+nums[i]<=mid){
    
                temp+=nums[i];
            }else{
    
                temp=nums[i];
                count++;
            }
        }
        return count<=m;
    }
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/c_lutch/article/details/98800121

智能推荐

leetcode 日经贴,Cpp code -Contains Duplicate_cpp contains_bachelorchen的博客-程序员秘密

Contains Duplicateclass Solution {public: bool containsDuplicate(vector& nums) { unordered_set us; for (int i = 0; i < nums.size(); ++i) { if (us.find(nums[i]) !=

shell中date日期相关操作_shell date +%s_Leo Han的博客-程序员秘密

shell中日期相关操作,获取当前时间,并指定格式:date +%Y%m%d返回:20200603获取当前时间的前n天,比如昨天:date +%Y%m%d -d "-1 days"返回:20200602

特洛伊木马与计算机病毒有什么区别,特洛伊木马Vs病毒Vs蠕虫, 有什么区别?..._weixin_39989939的博客-程序员秘密

如果出现计算机病毒的话题,人们最常犯的错误就是将蠕虫或特洛伊木马称为病毒。尽管木马,蠕虫和病毒这两个术语经常互换使用,但它们并不相似。病毒,蠕虫和特洛伊木马都是可以破坏您的计算机的恶意程序,但是这三者之间存在差异,知道这些差异可以帮助您更好地保护计算机免受其经常有害的影响。什么是病毒?计算机病毒是在未经用户许可或不知情的情况下修改机器功能而编写的小程序。病毒必须满足两个条件:它必须自己解决。有时,...

E - Mafia CodeForces - 348A 【二分】_Floraqiu的博客-程序员秘密

E - Mafia CodeForces - 348A 【二分】One day n friends gathered together to play “Mafia”. During each round of the game some player must be the supervisor and other n - 1 people take part in the game. Fo...

C++中的复合类型_c++ 复合类型_Achou.Wang的博客-程序员秘密

文章目录重温C++ 复合类型在程序中 使用结构体结构体赋值结构体数组结构体中位字段共用体枚举指针如何声明一个指针将指针初始化为一个地址使用new来分配内存指针和数组之间的差别指针、数组和指针算术指针和字符串使用new创建动态结构delete使用示例类型组合数组的替代品模板类vector模板类array重温C++ 复合类型在程序中 使用结构体// structur.cpp -- a simpl...

springboot生成二维码可扫描自定义内容_引入pom依赖glxn_小花皮猪的博客-程序员秘密

springboot生成二维码可扫描自定义内容1.pom引入依赖&lt;!-- 二维码支持包 --&gt; &lt;dependency&gt; &lt;groupId&gt;com.google.zxing&lt;/groupId&gt; &lt;artifactId&gt;core&lt;/artifactId&gt; &lt;version&gt;3.3.0&lt;/version&gt; &l

随便推点

form表单的多种提交方式及提交前验证_表单提交前验证_可及丶的博客-程序员秘密

以下是本人总结处来的一些form的提交方式,网上还有别的提交方式,这里我总结了大小分为7类,其实就是三类的提交方式,若有哪里不对的,还请评论指出来,大家一起学习学习1、无任何验证提交(最普通的提交)该方式不提供任何的验证方式,当我们点击提交时(提交的前提一定是 &lt;input&gt; 的type="submit"或者加粗样式&lt;button&gt;的type=“submit”)for...

新浪微博2011年6月受到过xss蠕虫攻击简析_历史上最大的xss攻击_黑面狐 sa~的博客-程序员秘密

function createXHR(){ return window.XMLHttpRequest? new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP"); } function getappkey(url){ xmlHttp = createXHR(); xm...

WebRTC学习进阶之路 --- 十七、源码分析之WebRTC的数据流水线详解&模块机制核心ProcessThread与ProcessThreadImpl_没有飘柔不洗头的博客-程序员秘密

WebRTC学习进阶之路系列总目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274对于实时音视频应用来讲,媒体数据从采集到渲染,在数据流水线上依次完成一系列处理。流水线由不同的功能模块组成,彼此分工协作:数据采集模块负责从摄像头/麦克风采集音视频数据,编解码模块负责对数据进行编解码,RTP模块负责数据打包和解包。数据流水线上的数据处理速度是影响应用实时性的最重要因素。与此同时,从服务质量保证角度讲,应用需要知道数据流水线的运行状态,

Bubble Cup 13 - Finals [Online Mirror, unrated, Div. 2] JG_Kirito_w的博客-程序员秘密

J. Lonely Numbers题目意思就是有一种新定义的两个数字之间的叫friend的关系,如果对于两个数字a,b ,有gcd(a,b), a/gcd(a,b), b/gcd(a,b)可以组成一个三角形(即两两之和大于第三边)的话,我们就说a和b是朋友。现在给你一个数字n,要你输出1-n中有多少个数字没有朋友。一般这种数据较大的多组样例是肯定要打表的,上来先找了一下规律,发现一个合数和任何数都可以是朋友,所以我们就先找到素数(线性筛打表),然后发现并不是所有的素数都没有朋友,每个素数和这个素数的平

继承ViewGroup学习onMeasure()和onLayout()方法_anwenzhao0749的博客-程序员秘密

在继承ViewGroup类时,需要重写两个方法,分别是onMeasure和onLayout。1,在方法onMeasure中调用setMeasuredDimension方法void android.view.View.setMeasuredDimension(int measuredWidth, int measuredHeight)在onMeasure(int, int)中,必须调用...

win10安装nvidia_安之ccy的博客-程序员秘密

如果nvdia没有安装成功,在C盘的Program Files目录下就没有NVIDIA GPU Computing Toolkit文件夹第一次安装,从昨晚一直安装到现在,一直提示安装失败提示一堆组件未安装,尝试了以下方法:1.清除,更新驱动,重启,精简安装,2.设置自定义安装(去掉cuda选项下的Visual Studio Integration 安装选项)3.安装了vs2017,最...