题一:单调递增的数字

题目链接: 单调递增的数字
解题思路: 暴力
解题代码:

var monotoneIncreasingDigits = function (n) {let arr = n.toString().split("");arr.forEach((ele, index) => {arr[index] = parseInt(ele);})console.log(arr)if (arr.length <= 1) return n;for (let i = arr.length - 1; i >= 1; i--) {if (arr[i] < arr[i - 1]) {let temp = i;arr[i] = 9;while (temp < arr.length - 1) {if (arr[temp] > arr[temp + 1]) arr[temp + 1] = 9;else break;temp++;}arr[i - 1] -= 1;} }console.log(arr)n = parseInt(arr.join(""));return n;
};

题二: 买卖股票的最佳时机含手续费

题目链接: 买卖股票的最佳时机含手续费
解题思路: 等待二刷 ,没弄明白
解题代码:

var maxProfit = function (prices, fee) {let buy = prices[0] + fee;let profit = 0;for (let i = 1; i < prices.length; i++) {if (prices[i] + fee < buy) {buy = prices[i] + fee;} else if (prices[i] > buy) {profit += prices[i] - buy;buy = prices[i];}}return profit;
};

题三:监控二叉树

题目链接: 监控二叉树
解题思路: 蒙圈状态
解题代码:

var minCameraCover = function(root) {// 状态定义// a: 根节点一定要放置// b: 全覆盖// c: 覆盖左右子树const dfs = (root)=>{if(root == null)return [Number.MAX_SAFE_INTEGER,0,0];const [la,lb,lc] = dfs(root.left);const [ra,rb,rc] = dfs(root.right);// 根节点一定要放的情况const a = 1 + lc+rc;// 整体覆盖const b = Math.min(a, // 根节点放Math.min(la+rb,ra+lb) // 根节点不放)const c = Math.min(a,lb+rb)return [a,b,c];}return dfs(root)[1];
};

代码随想录 day37相关推荐

  1. 代码随想录训练营day37

    目录 题目一:单调递增的数字 解法: 题目二:买卖股票的最佳时机含手续费 解法: 题目三:监控二叉树 解法: 题目一:单调递增的数字 力扣题目链接 题目描述: 当且仅当每个相邻位数上的数字 x 和 y ...

  2. 墙裂推荐!卡神力作《代码随想录》,上架首日卖爆!

    刚开始学习数据结构与算法,或者在力扣(LeetCode)上刷题的读者都有这种困惑--从何学起,先学什么,再学什么.很多人刷题的效率低,主要体现在以下三点: 难以寻找适合自己的题目. 找到了不合适现阶段 ...

  3. 送卡神算法力作《代码随想录》!

    刚开始学习数据结构与算法,或者在力扣(LeetCode)上刷题的读者都有这种困惑--从何学起,先学什么,再学什么.很多人刷题的效率低,主要体现在以下三点: 难以寻找适合自己的题目. 找到了不合适现阶段 ...

  4. 代码随想录Day48|198.打家劫舍、213.打家劫舍II、337.打家劫舍III

    文章目录 198.打0家劫舍 213.打家劫舍II 337.打家劫舍III 198.打0家劫舍 文章讲解:代码随想录 (programmercarl.com) 题目链接:198. 打家劫舍 - 力扣( ...

  5. 代码随想录算法训练营第二十二天

    235. 二叉搜索树的最近公共祖先 利用二叉搜索树的性质,同时学习了代码随想录,我们可以学到第一个遍历到的值在目标区间内的数为最近公共祖先,若值大于目标区间,就探索左子树:若值小于目标区间,就探索右子 ...

  6. 代码随想录算法训练营第一天 704 二分查找、27 移除元素

    代码随想录算法Day1 | 704. 二分查找.27. 移除元素 Last edited time: April 5, 2023 11:27 AM 数据理论基础 数组是存放在连续内存空间上的相同类型数 ...

  7. Leetcode 704.二分查找 27.移除元素 代码随想录day1

    本系列目的在于跟练代码随想录,以及记录自己在数据结构与算法方面的一些学习 704.二分查找 其实之前自己在随便刷题的时候看过这道题目,就是一个纯新手的大状态,第一次听到二分查找这样的东西,然后跟着题解 ...

  8. 代码随想录Day04 | LeetCode24. 两两交换链表中的节点、LeetCode19. 删除链表的倒数第N个节点、LeetCode160. 链表相交、LeetCode142. 环形链表Ⅱ

    LeetCode24. 两两交换链表中的节点 力扣题目链接 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 ...

  9. 代码随想录Day01 | LeetCode704.二分查找、LeetCode27.移除元素

    数组理论基础 数组是存放在连续内存空间上的相同类型数据的集合. 数组可以方便的通过下标索引的方式获取到下标下对应的数据 需要两点注意的是 数组下标都是从0开始的. 数组内存空间的地址是连续的 正是因为 ...

最新文章

  1. mysql传参数 和 区别_mybatis中#{}和${}传参方式的区别
  2. hasOwnProperty.call
  3. 抖音发布春节数据报告:394万个视频和平安相关 医务人员获赞8.6亿次
  4. PIC中档单片机汇编指令详解(4)
  5. 全国计算机报名入口攀枝花学院,2017年攀枝花学院艺术类专业考试网上报名入口...
  6. 计算机图形学期刊影响因子,计算机图形学 | CCF推荐期刊专刊信息2条
  7. 人脸识别技术软件测试测什么,人脸识别这么火,你知道它是什么吗?
  8. Mac OS 简易U盘重装系统 亲测
  9. 【lzy学习笔记-dive into deep learning】数学预备 2.5-2.7
  10. Matlab roundn()函数使用样例
  11. 树莓派/arm设备上安装火狐Firefox浏览器
  12. numpy_isfinite函数
  13. python画三维(3D)图
  14. socket网络编程常用的结构及函数小结
  15. java 实现输出水仙花数
  16. 论文阅读:CNN+GCN
  17. 电机系统标幺值基准值的选取
  18. vue项目点击左侧子菜单,打开一个新的浏览器标签页
  19. 小学期软件工程团队项目进度5
  20. 八年级上学期计算机教学计划,八年级上学期劳技教学计划

热门文章

  1. 简单典型二阶系统_18个最可能限制系统扩展能力的瓶颈,警惕!!!
  2. linux内核 printk实现,Linux内核调试技术之printk
  3. 《网络安全法》五周年:网络安全为人民 网络安全靠人民
  4. gazebo教程---使用gazebo插件
  5. 学游戏建模好找工作吗?
  6. mcp3208C语言程序,MCP3208 12位ADC与单片机的Proteus仿真
  7. @Autowired依赖注入
  8. python工业控制系统机柜_智慧职教2020Python程序设计(常州工业职业技术学院)答案...
  9. word2003 文件出错打不开怎么办
  10. 毕业季节就是失恋的季节