JavaScript 算法 — 贪心算法

JavaScript 算法 — 贪心算法文章目录贪心算法例题一:分饼干例题二:买卖股票的最佳时机II贪心算法贪心算法是算法设计的一种方法。期盼通过每个阶段的局部最优选择,从而达到全局的最优,但最后的结果不一定最优。例题一:分饼干 /** *@param{number[]}g胃口 *@param{number[]}s饼干尺寸 *@return{number} */ varfindContentChildren=function(g,s){ constmysort=(a,

大家好,又见面了,我是你们的朋友全栈君。

贪心算法

贪心算法是算法设计的一种方法。

期盼通过每个阶段的局部最优选择,从而达到全局的最优,但最后的结果不一定最优。

例题一:分饼干

在这里插入图片描述

	/** * @param {number[]} g 胃口 * @param {number[]} s 饼干尺寸 * @return {number} */
	var findContentChildren = function(g, s) { 
   
	    const mysort = (a, b) => { 
   
	        return  a-b;
	    }
	    g.sort(mysort);
	    s.sort(mysort);
	    let i = 0;
	    s.forEach((n) => { 
   
	        if(n >= g[i]){ 
   
	            i++;
	        }
	    })
	    return i;
	};

例题二:买卖股票的最佳时机 II

在这里插入图片描述

	/** * @param {number[]} prices * @return {number} */
	var maxProfit = function(prices) { 
   
	    var res = 0;
	    for(var i=1;i<=prices.length;i++){ 
   
	        if(prices[i]>prices[i-1]){ 
   
	            res = prices[i] - prices[i-1] + res;
	        }
	    }
	    return res;
	};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150500.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • redis系列之——一致性hash算法「建议收藏」

    redis系列之——一致性hash算法「建议收藏」一致性hash算法你了解吗?什么时候使用?解决什么问题?redis集群模式使用了一致性hash算法了吗?数据分片(sharding)分布式数据存储时,经常要考虑数据分片,避免将大量的数据放在单表或单库中,造成查询等操作的耗时过长。比如,存储订单数据时使用三个mysql库(编号0,1,2),当一条订单数据过来时,对订单id求hash后与机器数量取模,hash(orderId)%3,假如得到的结果是2,则这条数据会存储到编号为2的mysql中。分表分库存储时,根据数据库的主键或唯一键做hash,然后跟

    2022年9月29日
    5
  • 二叉树层序遍历实现

    二叉树层序遍历实现二叉树的层序遍历下图是一个简单的二叉树例图实现思路:1.创建一个队列用于二叉树的层序遍历。2.将二叉树根节点插入队列中。3.通过while循环遍历二叉树,直至遍历完整个二叉树后则结束循环。4.每次循环开始时先进行出队操作,若当前出队元素为null则证明已经完成层序遍历结束循环循环,若不为null则打印该节点的值,并判断该节点是否存在左右子树,若存在则依次插入队列中。图解上述二叉树的层序遍历过程依次进行图上操作直至最终队列为空时则层序遍历结束。实现代码如下:classTreeNod

    2022年5月11日
    41
  • 如何激活成功教程汽车–CAN协议

    如何激活成功教程汽车–CAN协议如何激活成功教程汽车–CAN协议1介绍2激活成功教程流程(以转速表为例)引自[2]一辆车就是一个网络连接到网络工具硬件软件CANbus激活成功教程CAN协议设置识别重播模糊测试可能的问题参考1介绍汽车后装的辅助驾驶设备,一般需要知道汽车的CAN协议,各汽车厂家的CAN协议又是保密的,这时就需要激活成功教程,因为CAN协议是明文,所以激活成功教程也就轻松些。2激活成功教程流程(以转速表为例)引自[2]一辆车就是一个网络一辆汽车由多台计算机组成,以控制发动机、变速器、窗户、锁、灯等。这些计算机被称为电子控制单元(ECU),它们通过网

    2022年6月28日
    59
  • C 语言漏洞最严重,PHP 最易受攻击,程序员该怎么写代码?「建议收藏」

    C 语言漏洞最严重,PHP 最易受攻击,程序员该怎么写代码?

    2022年2月14日
    40
  • 用Nacos替换Eruka步骤,及遇到的问题[通俗易懂]

    用Nacos替换Eruka步骤,及遇到的问题[通俗易懂]替换步骤1.下载server端从官方文档可以看到下载启动步骤:nacos快速开始并且启动Nacos服务端2.项目中修改POM原有pom里的Eruka相关都删除掉,然后增加:<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><v

    2022年8月21日
    11
  • P2P流媒体(p2p技术是谁发明的)

       上研都快一年啦,在呢年里说来惭愧,还没找好自己真正想研究的领域,我是比较喜欢网络方面的应用开发,但是网络也有好多方向啦,前段时间对搜索很感兴趣,还很冲动想专一下这方面,不过不好的地方是跟导师研究的方向没有大多交集,除非是搞并行算法方面,其它也可以…      前几天无意间看到peercast这个基于P2P的网络收音机,突然间激发了我心情的一团火(就好似酱爆甘,响呢个momen

    2022年4月16日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号