摘要:【分析题目】 一个小孩爬一个 n 层台阶的楼梯。他可以每次跳 1 步, 2 步 或者 3 步。实现一个方法来统计总共有多少种不同的方式爬到最顶层的台阶。 【解题思路】 【动态规划】 自己写的 public int climbStairs2(int n) { if (n == 0) return 1; 阅读全文
posted @ 2021-07-25 19:06 zhustarstar 阅读(4) 评论(0) 推荐(0) 编辑
摘要:描述 有一个机器人的位于一个 m × nm×n 个网格左上角。 机器人每一时刻只能向下或者向右移动一步。机器人试图达到网格的右下角。 问有多少条不同的路径? n和m均不超过100且答案保证在32位整数可表示范围内。 【分析题目】 一个棋子从左上角(0,0)按照从向下或者向右的方向,到达右下角(m,n 阅读全文
posted @ 2021-07-25 17:51 zhustarstar 阅读(5) 评论(0) 推荐(0) 编辑
摘要:【题目】你有三种硬币,分别面值2元,5元和7元,每种硬币都有足够多买一本书需要27元。如何用最少的硬笔组合正好付清?【动态规划的四部分】【1、确定状态】最后一步化成子问题:状态f(X)=用多少枚硬币能拼出子问题X【2、状态转移方程】【3、初始条件和边界条件】【4、计算顺序】从已有数据开始计算 阅读全文
posted @ 2021-07-25 14:54 zhustarstar 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-07-25 12:51 zhustarstar 阅读(3) 评论(0) 推荐(0) 编辑
摘要:实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4输出: 2示例 2: 输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将 阅读全文
posted @ 2021-07-17 20:39 zhustarstar 阅读(6) 评论(0) 推荐(0) 编辑
摘要:二分查找1.目标函数单调性(单调递增或者递减)2.存在上下界3.能够通过索引访问代码模板left,right - 0,len(array)-1while left<=right mid = (left+right)/2 if array[mid] == target: #find the targe 阅读全文
posted @ 2021-07-17 18:54 zhustarstar 阅读(5) 评论(0) 推荐(0) 编辑
摘要:给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 阅读全文
posted @ 2021-07-14 22:42 zhustarstar 阅读(5) 评论(0) 推荐(0) 编辑
摘要:这个题给我的感觉就是,以目标为导向,可能一个做法有很多实现方式。但是你可以做到以目标为导向。越复杂的逻辑判断,不如一步步的计算,落实到一步步,把逻辑计算简单化,这是符合循环的思想。就是在想做这步的时候,你可以有几种方法。 机器人在一个无限大小的 XY 网格平面上行走,从点 (0, 0) 处开始出发, 阅读全文
posted @ 2021-07-13 12:53 zhustarstar 阅读(10) 评论(0) 推荐(0) 编辑
摘要:字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列: 序列中第一个单词是 beginWord 。序列中最后一个单词是 endWord 。每次转换只能改变一个字母。转换过程中的中间单词必须是字典 wordList 中的单词。给你两个单词 阅读全文
posted @ 2021-06-25 17:52 zhustarstar 阅读(5) 评论(0) 推荐(0) 编辑
摘要:一条基因序列由一个带有8个字符的字符串表示,其中每个字符都属于 "A", "C", "G", "T"中的任意一个。 假设我们要调查一个基因序列的变化。一次基因变化意味着这个基因序列中的一个字符发生了变化。 例如,基因序列由"AACCGGTT" 变化至 "AACCGGTA" 即发生了一次基因变化。 与 阅读全文
posted @ 2021-06-24 16:24 zhustarstar 阅读(11) 评论(0) 推荐(0) 编辑