
leecode
代码
我是一个小稻米
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode-304——二维区域和检索-矩阵不可变
在内的前i行前j列的元素和。以上面的数组为例:创建的新数组多一行和一列,方便计算。所以需要根据已经给定的数组创建出一个新数组,这个数组的。因为区域1的面积被减掉了两次。原创 2022-10-27 17:56:14 · 959 阅读 · 1 评论 -
剑指 Offer 16. 数值的整数次方---快速幂法
快速幂原创 2022-07-12 11:04:30 · 196 阅读 · 0 评论 -
试题 算法训练 Bit Compressor
大概思路写到代码里了,详细的思路参照[添加链接描述](https://blog.youkuaiyun.com/weixin_45080867/article/details/104947136?%3E)大佬写的很详细。 import java.util.Scanner; public class Main{ // 原串的长度 public static int l; // 原串中1的数量 public static int n; public static St原创 2021-01-17 18:53:41 · 202 阅读 · 0 评论 -
试题 算法提高 宰羊
1 ~~2~~ 3 4 ~~5~~ ~~6~~ 7 8 ~~9~~ 10 删除线表示杀掉的羊,假如最优解是最后一步杀掉第五只羊: 最优解=杀掉第五只羊的代价+杀掉第1到4中该杀的羊的最优解+杀掉第6-10中该杀的羊的最优解 定义一个一维数组t[i]表示需要杀的羊的编号 t[]=[0,2,5,6,9,11] 0和11(也就是:n+1)是我们赋予的一个值,其余的是输入的值 定义一个二维数组dp[i][j]表示杀掉t[i]到t[j]区间内的该杀羊的最优解。 例如:dp[1]原创 2021-01-13 17:24:34 · 444 阅读 · 0 评论 -
试题 算法提高 秘密行动
** 动态规划 秘密行动 ** 问题分析 定义一个二维数组,行表示楼层数,列分别表示不跳跃和跳跃两种情况,j=0表示不跳跃,j=1表示跳跃; d[i][]表示从第一层到当前层的最短时间 第一层楼: 不跳跃:dp[1][0]=第一层高度 跳跃:dp[1][1]=0 其他楼层: 不跳跃:dp[i][0]=min(上一层不跳的时间,上一层跳的时间)+ 当前层高度=min(dp[i-1][0],dp[i-1][1]) 跳跃:dp[i][1]=min((上一层不跳而当前层跳),(当前层与上一层一起跳))=min(原创 2021-01-12 21:35:05 · 111 阅读 · 0 评论