`
endual
  • 浏览: 3566493 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

经典而简单的贪心算法

 
阅读更多

package endual;

public class Main {

	/**
	 * 题目是:找给顾客的钱的数目最少
	 */
	public static void main(String[] args) {
		
		float backMoney = 70f ; //应找的零钱
		//银行的前是根据现实是设计好的
		float[] backMoneys = {50f, 20f, 10f, 5f, 2f, 1f, 0.5f, 0.2f, 0.1f} ; //目前有的零钱
		int es = answer(backMoney, backMoneys) ; //返回的最少的数目
		System.out.println(es) ;
	}
		/**
		 * 贪心算法
		 */
	private static int  answer(float backMoney, float[] backMoneys) {
	 
		int count = 0 ;
		float lastMoney = backMoney; //初始化的时候应该要找回多
		int n = backMoneys.length ;
		
      for (int i=0; i < n; i++) {
    	  
    	  while(lastMoney >= backMoneys[i]) {
    		  
    		  lastMoney = lastMoney - backMoneys[i] ;
    		  count++ ;
    	  }
    	  if (lastMoney == 0f) {
    		  break ;
    	  }
      }
		return count;
	}

}
 
分享到:
评论

相关推荐

    经典的贪心算法,实用加常用

    经典的贪心算法,实用加常用 贪心算法(Greedy Algorithm)是一种经典的算法,在程序设计中非常常用。贪心算法的思想是,在对问题求解时,总是作出在当前看来是最好的选择。也就是说,不从整体上加以考虑,它所作出...

    贪心算法 贪心 算法 贪心的算法

    举个例子,经典的贪心算法问题包括: - **霍夫曼编码**:在数据压缩中,贪心算法用于构建霍夫曼树,通过对字符出现频率的排序,每次合并频率最低的两个节点,直到只剩下一个节点,这个过程保证了频繁出现的字符有较...

    贪心算法、分治算法和动态规划的区别 贪心算法和动态规划.pdf

    而贪心算法,仅在当前状态下做出最好选择,即局部最优选择,然后再去解做出这个选择后产生的相应的子问题。贪心法无法解决动态规划的问题,但是动态规划能解决贪心的问题。虽然能够应用贪心算法一定能够应用动态规划...

    贪心算法,最小生成树

    贪心算法提供了一个简单、漂亮的方法,使得尽可能多的活动能兼容地使用公共资源。 贪心算法 greedySelector 的计算过程可以分为以下步骤: * 首先,按照活动的结束时间非减序排列 * 然后,对于每个活动,检查其...

    贪心算法和动态规划以及分治法的区别? (1) 贪心算法和动态规划.pdf

    贪心算法的优点是简单高效,但其缺点也很明显,即在很多问题中无法获得最优解。 动态规划与贪心算法不同,它是一种将复杂问题分解为较小子问题,通过解决这些子问题来求解原问题的方法。动态规划的特点是“存储中间...

    贪心算法 找零钱

    ### 贪心算法找零钱 #### 一、引言 在计算机科学与数学领域,贪心算法是一种解决问题的方法,它通过选择当前看起来最佳的选项来构建全局最优解。本篇文章将详细介绍如何使用贪心算法解决找零钱问题,并通过C语言...

    贪心算法 背包问题 c语言

    ### 贪心算法在背包问题中的应用及C语言实现 #### 一、贪心算法简介 贪心算法是一种在每个步骤中都选择局部最优解的策略,希望通过一系列的局部最优选择来达到全局最优解的目的。它适用于某些特定的问题类型,在...

    贪心算法求解tsp(旅行商问题)

    在TSP问题中,贪心算法可能会选择每次连接最近未访问的城市,但这种策略并不总是能得出最优解,因为贪心算法没有考虑到全局的最优路径规划。 在VC++环境下,实现TSP问题的贪心算法通常涉及以下步骤: 1. **数据...

    贪心算法分学习教案ppt

    贪心算法是一种对某些求最优解问题的更简单、更迅速的设计技术。贪心算法的特点是一步一步地进行,常以当前情况为基础根据某个优化测度作最优选择,而不考虑各种可能的整体情况,省去了为找最优解要穷尽所有可能而...

    贪心算法 背包问题 C语言

    贪心算法的优点是思路简单,易于实现,但并不总是能得到全局最优解,因为它的每一步选择都是局部最优的,而全局最优可能需要考虑更多的组合可能性。在背包问题中,贪心算法对于某些特定类型的问题(如完全背包、非...

    贪心算法简介 贪心算法简介

    3. **贪心选择性质**:贪心算法的核心在于在每个阶段做出一个局部最优的选择,而这些选择组合起来往往能构成全局最优解或者近似的最优解。 4. **最优子结构**:一个问题具有最优子结构性质,意味着如果一个问题的最...

    贪心算法 部分背包问题

    然而,由于其简单性和效率,贪心算法在很多实际问题中仍然是一个实用的解决方案。 这个“实验二a”程序可能是为了让学生理解和实践贪心算法在部分背包问题中的应用,从而提高他们对算法设计和问题求解的能力。通过...

    贪心算法活动安排问题,

    ### 贪心算法在活动安排问题中的应用 #### 一、引言 在计算机科学领域,贪心算法是一种在每个步骤中都选择局部最优解的策略,希望通过这种方式找到全局最优解...这种简单而优雅的解决方案展示了贪心算法的强大之处。

    贪心算法综述.docx

    然而,需要注意的是,贪心算法并不适用于所有最优化问题,如旅行推销员问题,由于其全局最优解不能通过局部最优选择简单地得出,因此不能用贪心算法求解。在实际应用中,我们需要根据问题的具体性质来选择合适的算法...

    用贪心算法求解哈密顿回路

    哈密顿回路是图论中的一个重要概念,指的是在无向图中找到一个起点和终点相同的路径...然而,对于小规模问题,这个简单的贪心算法仍然能够提供有用的近似解。在实际应用中,应根据具体需求和数据规模来选择合适的算法。

    贪心算法(贪婪算法)

    1. **背包问题**:这是一类经典的贪心算法应用。例如,给定一个背包容量和一系列物品,每个物品有自己的重量和价值,贪心策略可能是每次选择单位重量价值最高的物品放入背包。但这种策略并不总是得到最大价值的解,...

    活动安排问题之贪心算法

    在贪心算法中,我们通常采取一种简单的策略,即在每一步选择当前状态下最好的决策。对于活动安排问题,一个常见的贪心策略是:每次选择结束时间最早的活动。这个策略基于一个假设,即如果一个活动结束得早,那么它更...

    贪心算法之磁盘文件最优储存问题.zip

    贪心算法虽然简单且易于实现,但并不总是能保证得到全局最优解。对于某些问题,如旅行商问题,贪心算法的解决方案可能远远不是最优的。然而,在磁盘文件存储这样的问题中,贪心策略往往能得到相当不错的解决方案,...

    acm竞赛贪心算法总结

    贪心算法的特点是每次决策都基于当前状态,选择当前看起来最好的解决方案,而不去考虑未来可能的情况。这种算法在处理一些特定类型的问题时表现出色,例如最小生成树、活动选择问题、霍夫曼编码等。 一、贪心算法的...

    贪心算法导论完整详细版

    ### 贪心算法导论完整详细版 #### 1. 什么是贪心算法 贪心算法是一种在每一步选择中都采取当前看起来最好的选择,希望通过这种局部最优的选择达到全局最优的结果。它既是一种思想,也是一种高效算法。贪心算法在...

Global site tag (gtag.js) - Google Analytics