07 2021 档案

摘要:【分析题目】 一个小孩爬一个 n 层台阶的楼梯。他可以每次跳 1 步, 2 步 或者 3 步。实现一个方法来统计总共有多少种不同的方式爬到最顶层的台阶。 【解题思路】 【动态规划】 自己写的 public int climbStairs2(int n) { if (n == 0) return 1; 阅读全文
posted @ 2021-07-25 19:06 zhustarstar 阅读(56) 评论(0) 推荐(0)
摘要:描述 有一个机器人的位于一个 m × nm×n 个网格左上角。 机器人每一时刻只能向下或者向右移动一步。机器人试图达到网格的右下角。 问有多少条不同的路径? n和m均不超过100且答案保证在32位整数可表示范围内。 【分析题目】 一个棋子从左上角(0,0)按照从向下或者向右的方向,到达右下角(m,n 阅读全文
posted @ 2021-07-25 17:51 zhustarstar 阅读(56) 评论(0) 推荐(0)
摘要:【题目】你有三种硬币,分别面值2元,5元和7元,每种硬币都有足够多买一本书需要27元。如何用最少的硬笔组合正好付清?【动态规划的四部分】【1、确定状态】最后一步化成子问题:状态f(X)=用多少枚硬币能拼出子问题X【2、状态转移方程】【3、初始条件和边界条件】【4、计算顺序】从已有数据开始计算 阅读全文
posted @ 2021-07-25 14:54 zhustarstar 阅读(112) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-07-25 12:51 zhustarstar 阅读(64) 评论(0) 推荐(0)
摘要:实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4输出: 2示例 2: 输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将 阅读全文
posted @ 2021-07-17 20:39 zhustarstar 阅读(251) 评论(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 阅读(40) 评论(0) 推荐(0)
摘要:给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 阅读全文
posted @ 2021-07-14 22:42 zhustarstar 阅读(46) 评论(0) 推荐(0)
摘要:这个题给我的感觉就是,以目标为导向,可能一个做法有很多实现方式。但是你可以做到以目标为导向。越复杂的逻辑判断,不如一步步的计算,落实到一步步,把逻辑计算简单化,这是符合循环的思想。就是在想做这步的时候,你可以有几种方法。 机器人在一个无限大小的 XY 网格平面上行走,从点 (0, 0) 处开始出发, 阅读全文
posted @ 2021-07-13 12:53 zhustarstar 阅读(239) 评论(0) 推荐(0)