
算法
文章平均质量分 70
甜磕22426
谢谢你这么优秀还来关注我
展开
-
粉刷房子(逆向思维+弯道超车)
当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。我们将给出一个正整数n,表示房子的数量,以及三个长度为n的数组redCosts, blueCosts,greenCosts,用来表示每个房子粉刷成对应颜色的花费。假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。正确答案:54(易错答案:61)❗看看是不是你中招了(弯道超车体现在这)废话不多说,直奔主题。上一行不同列的最小值。原创 2022-11-18 22:05:12 · 131 阅读 · 0 评论 -
找零钱(算法分析详细版)
就是你输入你要兑换的金钱的总值,然后系统给出几种金钱的面值,找出你要兑换的金钱总值可以换成钱的最小张数。我们采用递归的方式,先找出组成1块钱所需要的的最小张数,依次组成找到2,3,4块钱的最小张数。你要兑换的金钱总值可以换成钱的最小张数:2(2张面值为2块钱的钱)系统给出的几种金钱面值:1,2,5,7,10。组成一块钱所需要的的最小张数为1张,组成两块钱所需要的的最小张数为1张,组成三块钱所需要的的最小张数为2张,组成四块钱所需要的的最小张数为2张.接下来,请边看代码边看解释。⭐核心代码(带解释版)原创 2022-11-09 15:01:27 · 2431 阅读 · 0 评论 -
二分查找(附三道小练习题)
本次内容详解来自up主五点七边🤭 ⭐一般流程 建模:划分蓝红区域,确定isBlue() 确定返回blue还是red 套用算法模板 (后处理) ⭐算法模板 blue=-1,red=N while blue+1!=red m=(blue+red)/2 if isBlue(m) blue=m else red=m return blue or red ⭐细节问题 🐂细节1:为什么blue的初始值为-1,red的初始值为N? 因.原创 2022-04-23 14:41:05 · 310 阅读 · 4 评论 -
数字三角形(进来看,不要不识抬举)
⭐问题详情: ❀给出一个数字三角形,从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。 ❀路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右边的那个数。此外,向左下走的次数与向右下走的次数相差不能超过 1。(是指走到底部向左下走的总次数与向右下走的总次数相差不能超过 1。) 🥥例子1: 🥥例子2: 7 ...原创 2022-03-26 00:48:27 · 1839 阅读 · 4 评论