美文网首页
2019腾讯笔试题

2019腾讯笔试题

作者: 枫叶忆 | 来源:发表于2019-09-27 14:52 被阅读0次

题目背景:
小Q去商场购物,经常会遇到找零的问题。

小Q现在手上有n种不同面值的硬币,每种面值的硬币都有无限多个。

为了方便购物,小Q希望带尽量少的硬币,并且要能组合出1到m之间(包含1和m)的所有面值。

输入格式
第一行包含两个整数m和n。

接下来n行,每行一个整数,第 i+1 行的整数表示第 i 种硬币的面值。

输出格式
输出一个整数,表示最少需要携带的硬币数量。

如果无解,则输出-1。

import java.util.*;
public class 小Q购物 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();//要求面值
        int n = sc.nextInt();//面值种类
        int[] arr = new int[n+1];
        for(int i = 0; i < n; i++){
            arr[i] = sc.nextInt();
        }
        Arrays.sort(arr, 0, n);
        if(arr[0] != 1){
            System.out.println(-1);
        }else{
            // 忽略面值超出要求面值
            while(n > 0 && arr[n-1] > m) n--;
            arr[n] = m+1;
            int res = 0;
            for(int i = 0, s = 0; i < n; i++){
                //
                int k = (arr[i+1]-1-s+ arr[i]-1)/arr[i];
                res += k;
                s += k*arr[i];
            }
            System.out.println(res);
        }
    }
}

相关文章

  • PHP高级程序员必看知识点:目录大全(不定期更新)

    面试题系列: 八重樱:分享一波腾讯PHP面试题 八重樱:2019年PHP最新面试题(含答案) 八重樱:Redis ...

  • 2019腾讯笔试题

    题目背景:小Q去商场购物,经常会遇到找零的问题。 小Q现在手上有n种不同面值的硬币,每种面值的硬币都有无限多个。 ...

  • iOS面试题:腾讯一、二、三面以及参考思路

    转载自:CocoaChina 不懂技术的爱迪生--iOS面试题:腾讯一、二、三面以及参考思路 iOS面试题:腾讯一...

  • iOS面试题:腾讯三面

    iOS面试题:腾讯三面

  • Android 2019笔试题

    最近为了面试新的开发人员准备一套笔试题,选择题第一题和简答题第六题是因为业务需求需要培养一个openGL ES和C...

  • 工作面试

    2016 年末,腾讯,百度,华为,搜狗和滴滴面试题汇总 2016 年未,腾讯,百度,华为,搜狗和滴滴面试题汇总杭州...

  • Android-Java面试

    2016 年末,腾讯,百度,华为,搜狗和滴滴面试题汇总 2016 年未,腾讯,百度,华为,搜狗和滴滴面试题汇总各大...

  • 优秀开源

    2016 年末,腾讯,百度,华为,搜狗和滴滴面试题汇总 2016 年未,腾讯,百度,华为,搜狗和滴滴面试题汇总自定...

  • 程序语言

    2016 年末,腾讯,百度,华为,搜狗和滴滴面试题汇总 2016 年未,腾讯,百度,华为,搜狗和滴滴面试题汇总【码...

  • 面试经验

    2016 年末,腾讯,百度,华为,搜狗和滴滴面试题汇总 2016 年未,腾讯,百度,华为,搜狗和滴滴面试题汇总写给...

网友评论

      本文标题:2019腾讯笔试题

      本文链接:https://www.haomeiwen.com/subject/celbyctx.html