首页 > 编程语言 >经典算法贪心(刷题归纳)

经典算法贪心(刷题归纳)

时间:2023-02-28 14:33:57浏览次数:41  
标签:Scanner int 张数 钞票 算法 100 刷题 贪心

<贪心算法greedy algorithnm>

本质是让机器模拟人类,每次都按照某一个标准取最优解,一般常用最优子结构问题,但不是所有的时候贪心都获得最优解。

跟DP最大的区别在于,贪心不可以回溯

<栗子>

艾伦是一个非常富有的人,他在银行存有 n 元钱,现在由于某些私人原因,他要将钱全部取出用于急用。

已知银行的钞票共分 1,5,10,20,100这 5种面值。

出于携带方便的考虑,艾伦希望组成这 n元钱的钞票张数尽可能少。

请问在给定 n 的情况下,组成 n元钱的钞票张数最少是多少。

输入格式

共一行,只包含一个整数 n。

输出格式

共一行,只包含一个整数,表示最少的钞票张数。

解题思路:首先考虑100够不够取.........,进行依次类推

代码实现:

import java.util.Scanner;
public class Main{
    public static void main(String[]args)
    {
        Scanner input=new Scanner(System.in);
        int []ant={0,100,20,10,5,1};
        int n= input.nextInt();
        int count=0;
        for(int i=1;i<=5;i++)
        {
            int t=n/ant[i];
            n-=ant[i]*t;
            count+=t;

        }
        System.out.println(count);
    }
}

 

标签:Scanner,int,张数,钞票,算法,100,刷题,贪心
From: https://www.cnblogs.com/liliczw2209/p/17164137.html

相关文章

  • 1.4 算法和算法分析
    1.4算法和算法分析算法定义对特定问题求解方法和步骤的一种描述,它是指令的有限序列。其中每个指令的表示一个或多个操作。简而言之,算法就是解决问题的方法和步骤。......
  • 算法和算法分析2
    对于同一个问题,可以有许多不同的算法。究竟如何来评价这些算法的优劣程度呢?算法分析的目的是看算法实际是否可行,并在同一问题存在多的算法时可进行性能上的比较,以便于从中......
  • 每日算法--2023.2.28
    1.剑指offer56数组中数字出现的次数2classSolution{publicintsingleNumber(int[]nums){int[]cnt=newint[32];intn=nums.length;......
  • 《分布式技术原理与算法解析》学习笔记Day25
    负载均衡负载均衡是分布式可靠性中非常关键的一个问题,它在一定程度上反映了分布式系统对业务处理的能力。什么是负载均衡?负载均衡可以分为两种:请求负载均衡,即将用户的......
  • LeetCode算法训练-回溯 491.递增子序列 46.全排列 47.全排列 II
    欢迎关注个人公众号:爱喝可可牛奶LeetCode算法训练-回溯491.递增子序列46.全排列47.全排列IILeetCode491.递增子序列分析找出并返回所有数组中不同的递增子序列......
  • 代码随想录算法Day27 | 39. 组合总和 , 40.组合总和II ,131.分割回文串
    39.组合总和题目链接:39.组合总和-力扣(LeetCode)思路既然题目说可以数组中的数可以无限制重复被选取,那么说明在选取该元素的下一个分支也可以继续使用。选取和剪枝过......
  • 改进A融合动态局部算法仿真对比
      局部动态规划简介局部动态路径规划是指在动态环境下,移动机器人依据环境感知传感器(激光雷达、摄像头等)获得当前局部环境信息,实时规划一条避开障碍物规的移动路径。而......
  • KMP算法(字符串匹配算法最优解)
    KMP算法重点在于求next数组,理解next数组的含义。next数组的作用是当某次子串和主串匹配失败时,迅速的判断出字串索引j应该等于多少,而不回退主串的索引i,从而减少时间复杂度,......
  • LeetCode算法训练 93.复原IP地址 78.子集 90.子集II
    欢迎关注个人公众号:爱喝可可牛奶LeetCode算法训练93.复原IP地址78.子集90.子集IILeetCode93.复原IP地址分析字符串全部由数字组成,ipv4每一段数字不能有前导0,且......
  • 算法随想Day24【回溯算法】| LC39-组合总和、LC40-组合总和Ⅱ、LC131-分割回文串
    LC39.组合总和vector<int>temp;intsum=0;voidcombinationSumLoop(vector<vector<int>>&result,vector<int>&candidates,intindex,constint&target){......