- 博客(3)
- 收藏
- 关注
原创 爬楼梯(动态规划)
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?(输入n,输出方法总数) //这里只是求一个结果,可以用动态规划,题目求什么,我们就从什么方面入手 //动态规划其实就是记忆递归和分治算法的组合 //n阶台阶可走的方法,它最后一步可能跨越了一个台阶,也可能跨了两个台阶,所以得到核心代码:f(n)=F(n-1)+f(n-2) //通过列一小部分结果发现,是斐波那契 public class Solution{ public static i
2021-12-12 15:08:01
126
原创 大写字母转小写字母
//问题一:如何输入字符串 //a.利用Scanner流输入(缺点:无法录入空格) public class ShuRu{ SCanner scanner=new Scanner(System.in); String s=scanner.next(); } //b.利用BUfferedReader包装类(可以输入空格) public class Shuru{ BufferedReader buffer=new BufferedReader(new InputStreamReader(System.in
2021-12-12 13:15:50
233
原创 最大子序列(动态规划)
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 核心代码(极其精简): //这里就是每一次判断都是判断上一步总和是否为负,如果为负就直接舍弃,进入下一步再判断上一步留下的单独的那个数组的数值,为0继续舍弃;不为0,继续当作最大总和,与这一步单独的数相加;当作下一步为坐标的上一步的最大总和 for i in range(1,n): if a[i-1]>0: a[i]+=a[i-1];//前三步是假定存在正数
2021-12-12 12:15:12
607
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人