代码界的小白
代码界的小白
全部文章
题解
剑指offer个人题解(4)
必刷148题(1)
归档
标签
去牛客网
登录
/
注册
代码界的小白的博客
全部文章
/ 题解
(共95篇)
题解 | #跳跃游戏(三)#
题目主要信息 1、给定一个非负整数数组nums,数组里面的每个元素代表下一跳能够跳跃的最大长度 2、判断最少跳几次能跳到数组最后一个位置 3、若无法跳到最后一个位置,返回-1 方法一:反向查找 具体方法 这道题是典型的贪心算法,通过局部最优解得到全局最优解。我们的目标是到达数组的最后一个位置,因此我...
Java
2022-01-08
2
583
题解 | #长度最小的连续子数组#
题目主要信息 1、给定一个数组 nums 和一个正整数 target 2、找出满足和大于等于 target 的长度最短的连续子数组 方法一:暴力解法 具体方法 由于本题中数据不大,因此可以采取暴力解法。 计算所有i开始,j结尾的数组的和,若大于target,则计算其长度并和最小值进行比较。 Java...
Java
2022-01-07
3
624
题解 | #单词拆分(一)#
题目主要信息 1、给定一个字符串和一个字符串数组 2、判断字符串能否拆分成若干个字符串符合字符串数组的子集 方法一:动态规划 具体方法 可以使用动态规划的方法,dp[i]表示以第i个字符结尾的字符串是否满足该条件。 因此当字符串从i到j的子字符串属于字符串数组时,满足dp[i]=dp[i-j]。 ...
Java
2022-01-06
0
494
题解 | #字符串解码#
题目主要信息 给一个加密过的字符串解码,返回解码后的字符串。 加密方法是:k[c] ,表示中括号中的 c 字符串重复 k 次,例如 3[a] 解码结果是 aaa ,保证输入字符串符合规则。不会出现类似 3a , 3[3] 这样的输入。 方法一:使用栈 具体方法 本题中可能出现括号嵌套的情况,比如...
Java
2022-01-05
1
687
题解 | #编辑距离(一)#
题目主要信息 1、给两个字符串str1,str2 2、每个字符串可以通过替换、增添、删除来进行修改,每次修改需要1次编辑距离 3、求最小编辑距离使得两个字符串相等 方法一:字符串比较 具体方法 编辑距离是一类非常经典的动态规划的题目。 我们使用dp[i][j]表示字符串A的前i个字符与字符串B的前j...
Java
2022-01-04
1
793
题解 | #二叉树的后序遍历#
本题主要信息 1、给定一个二叉树,返回他的后序遍历的序列。 2、后序遍历是值按照 左节点->右节点->根节点 的顺序的遍历。 方法一:递归 具体方法 按照访问左子树——右子树——根节点的方式遍历这棵树,而在访问左子树或者右子树的时候,我们按照同样的方式遍历,直到遍历完整棵树。因此整个遍历...
Java
2022-01-04
0
471
题解 | #下一个排列#
题目主要信息 1、给出一个数组的排列 2、找到该数组的下一个排列,使得新数组是大于该数组的最小数组 方法一:两次扫描 具体方法 注意到下一个排列总是比当前排列要大,除非该排列已经是最大的排列。我们希望找到一种方法,能够找到一个大于当前序列的新序列,且变大的幅度尽可能小。具体地: 我们需要将一个左边...
Java
2022-01-03
4
665
题解 | #循环右移二叉树#
题目主要信息 1、给一棵n个节点构成的二叉树 2、将每一层的节点向右循环位移k位 3、从最下一层开始位移,从下往上一次进行 方法一:层次遍历+循环移位 具体方法 由于是按照每一层的节点进行循环移位,因此我们可以首先进行树的层次遍历,得到每一层的结构。 按照题目要求,从最小面一层开始位移,为了确定移动...
C++
Java
2022-01-02
10
1162
题解 | #修剪叶子#
题目主要信息 1、给一个n个节点的二叉树 2、不可以直接删除叶节点,只能修改叶节点的父节点 3、保留尽可能多的节点 方法一:递归遍历方法 具体方法 为了保留尽可能多的树节点,采用贪心的方式,只删除所有叶结点的父节点。 对于一个要删除的节点,它的特点是,存在有为叶节点的子节点。我们通过遍历树,判断该...
Java
2022-01-01
3
498
题解 | #盛水最多的容器#
题目主要信息 1、给出一个数组,表示点的高度 2、找出最大的两条线所组成的容器的大小 方法一:双指针 具体方法 我们设两个指针i,j,指向的线高度分别为h[i], h[j],因此我们可以将面积S表示出来如下图所示 而在每种状态下,无论长板或短板向中间收窄一格,都会导致水槽宽度-1: 若向内移动短...
Java
2021-12-31
0
482
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页