leetcode
文章平均质量分 69
云庄clouder
这个作者很懒,什么都没留下…
展开
-
java中map集合遍历的五种方式
建立一个map,并存入数据Map<Integer,Integer> map = new HashMap<>();第一种遍历方式,通过keySet()for(int i:map.keySet()){ System.out.println("Key: " + key + ", Value: " + map.get(key));}第二种方式,使用迭代器,当有删除某些key-value的需求时候,使用这种Iterator<Map.Entry<Integer, I原创 2021-05-05 17:10:12 · 7976 阅读 · 2 评论 -
动态规划总结三01背包问题
01背包问题一般是利用动态规划进行解题的,这里通过leetcode1049来讲解01背包的解题思路以及如何对01背包应用题目转换和理清思路01背包问题:这里借用学习公众号代码随想录的一张图来说明背包问题的种类对于面试的话,其实掌握01背包,和完全背包,就够用了,最多可以再来一个多重背包。首先来看01背包问题的描述有N件物品和一个最多能被重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。对于这种原创 2021-04-15 10:37:08 · 1243 阅读 · 0 评论 -
动态规划总结二 leetcode96
根据上一篇动态规划的做题步骤总结,再利用一个leetcode中等难度的题目进行讲解,96不同结构的二叉树。96:不同结构的二叉树题目:https://leetcode-cn.com/problems/unique-binary-search-trees/给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?官方例子:看到题目中能联想到n-1状态与n状态有关联的可以考虑使用动态规划。1.首先确定数组的定义以及下标定义,一般来说都是定义f[i]为第i个时候存在多少种二叉树结构这样原创 2021-04-07 14:35:22 · 110 阅读 · 0 评论 -
动态规划总结一
主要是跟着GitHub项目https://github.com/youngyangyang04/leetcode-master进行刷题系统性学习,从这一篇开始进行总结自己的动态规划刷题心得定义动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的,学习内容:做动态规划题目的时候,模糊会做了一些题目,但是题目稍微换一下加原创 2021-04-06 00:25:25 · 79 阅读 · 0 评论