摘要: 题目 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m 1,n 1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3 阅读全文
posted @ 2020-02-19 22:28 Galaxy_hao 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题目 给定一个二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 示例: 思路 同 "【剑指Offer】面试题12. 矩阵中的路径" 以每个位置开头检查是否存 阅读全文
posted @ 2020-02-18 22:28 Galaxy_hao 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 题目 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗 阅读全文
posted @ 2020-02-18 22:24 Galaxy_hao 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 题目 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。 示例 1: 示例 2: 思路一:暴力 代码 时间复杂度:O(n) 空间复 阅读全文
posted @ 2020-02-17 22:07 Galaxy_hao 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 示例 2: 提示: 思路 同 "【剑指Offer】面试题10 I. 斐波那契数 阅读全文
posted @ 2020-02-17 19:12 Galaxy_hao 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 题目 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: 给定 N,计算 F(N)。 示例 1: 示例 2: 示例 3: 提示: 思路:动态规划 同 "【剑指Offer】面试题10 I. 斐波那契数列" 如果使用 阅读全文
posted @ 2020-02-16 21:55 Galaxy_hao 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 题目 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 阅读全文
posted @ 2020-02-16 21:48 Galaxy_hao 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 题目 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 1 ) 示例 1: 示例 2: 提示: 1 st1; stack st2; pu 阅读全文
posted @ 2020-02-16 21:30 Galaxy_hao 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 题目 URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。) 示例1: 示例2: 提示: 思路:双指针 同 "【剑指Offer】面试题05.替换空格" 代 阅读全文
posted @ 2020-02-15 23:00 Galaxy_hao 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题目 给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。 示例 1: 示例 2: 说明: 0 hash(256, 0); for (int i = 0; i < s1.size(); ++i) { ++hash[s1[i]]; hash[s2[ 阅读全文
posted @ 2020-02-14 23:26 Galaxy_hao 阅读(204) 评论(0) 推荐(0) 编辑