编程练习-剑指offer
文章平均质量分 56
剑指offer第二版编程练习
uncle_ll
这个作者很懒,什么都没留下…
展开
-
剑指offer:07.重建二叉树
07. 重建二叉树来源:力扣(LeetCode)链接: https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例 1:Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,null,15,7]示例 2原创 2022-04-01 21:30:00 · 375 阅读 · 0 评论 -
剑指offer:12.矩阵中的路径
12-居中中的路径来源:力扣(LeetCode)链接: https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如,在下面的 3×4 的原创 2022-04-10 20:45:00 · 1110 阅读 · 0 评论 -
剑指offer:14-I.剪绳子
14-I-剪绳子来源:力扣(LeetCode)链接: https://leetcode-cn.com/problems/jian-sheng-zi-lcof/给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。示例 1:输入原创 2022-04-14 23:25:35 · 111 阅读 · 0 评论 -
剑指offer:13.机器人的运动范围
13-机器人的运动范围来源:力扣(LeetCode)链接: https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=1原创 2022-04-13 23:18:07 · 205 阅读 · 0 评论 -
剑指offer:11.旋转数组的最小数字
11-旋转数组的最小数字来源:力扣(LeetCode)链接: https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-lcof/把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小原创 2022-04-09 22:00:00 · 480 阅读 · 0 评论 -
剑指offer:10-II.青蛙跳台阶问题
10-II-青蛙跳台阶问题来源:力扣(LeetCode)链接: https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof/一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n原创 2022-04-07 23:42:13 · 1590 阅读 · 0 评论 -
剑指offer:10-I.斐波那契数列
10-I-斐波那契数列来源:力扣(LeetCode)链接: https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof/写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案原创 2022-04-06 23:12:55 · 1189 阅读 · 0 评论 -
剑指offer:09.用两个栈实现队列
用俩栈模拟队列原创 2022-04-06 22:40:22 · 99 阅读 · 0 评论 -
剑指offer:05. 替换空格
05. 替换空格来源:力扣(LeetCode)链接: https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000解题思路:遍历并替换空格,在python中,str类型是不可以被更改的,只能新建一个str,并将遍历结果保持到原创 2022-04-01 01:00:00 · 317 阅读 · 0 评论 -
剑指offer:04. 二维数组中的查找
04. 二维数组中的查找来源:力扣(LeetCode)链接: https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/在一个 n∗mn * mn∗m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2,原创 2022-03-31 16:19:47 · 1872 阅读 · 0 评论 -
剑指offer:03数组中重复的数字
03. 数组中重复的数字来源:力扣(LeetCode)链接: https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:原创 2022-03-31 23:45:00 · 125 阅读 · 0 评论 -
剑指 Offer II 069. 山峰数组的顶部
题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/B1IidL符合下列属性的数组 arr 称为 山峰数组(山脉数组) :arr.length >= 3存在 i(0 < i < arr.length - 1)使得:arr[0] < arr[1] < … arr[i-1] < arr[i]arr[i] > arr[i+1] > … > arr[arr.length - 1]给定由整数组原创 2021-10-14 23:41:55 · 215 阅读 · 0 评论