廿半
廿半
全部文章
题解
归档
标签
去牛客网
登录
/
注册
廿半的博客
全部文章
/ 题解
(共4篇)
【剑指offer】连续子数组的最大和
典型的动态规划。dp[n]代表以当前元素为截止点的连续子序列的最大和,如果dp[n-1]>0,dp[n]=dp[n]+dp[n-1],因为当前数字加上一个正数一定会变大;如果dp[n-1]<0,dp[n]不变,因为当前数字加上一个负数一定会变小。使用一个变量max记录最大的dp值返回即可...
算法
矩阵
数组
动态规划
2019-12-26
174
5498
【剑指offer】字符串的排列
该题目其实就是对数组中的每个字符和其它字符进行交换完成的,但是该交换过程是递归完成的。以"abc"为例,在第一层递归中,会将第一个字符'a'和后续字符进行依次交换,形成"abc"、"bac"和"cba"传入下一层递归,在下一次递归中,又会分别以整个字符串的第二个字符开始,与后续字符依次交换。当交换到...
算法
递归
Java
字符串
2019-12-25
0
721
【剑指offer】二叉搜索树与双向链表-非递归实现
二叉搜索树的中序遍历就是有序序列,因此对二叉搜索树进行中序遍历,将中序遍历的当前节点与前一个节点进行连接。本解法使用栈完成非递归的遍历。 public static TreeNode Convert(TreeNode pRootOfTree) { if (pRootOfTree ==...
算法
Java
树
非递归
栈
2019-12-24
1
922
【剑指offer】顺时针打印矩阵
该类题目需要从宏观的角度去考虑。1.首先定义一个方法,给定左上角和右下角两个点,使用四个循环遍历输出矩阵外圈。注:需要考虑只包含一行和一列的情况。2.确定矩阵的左上角和右下角,不断往里递进,调用步骤1中的方法打印当前矩阵的最外圈。 public static ArrayList<Integer...
算法
Java
矩阵
顺时针打印矩阵
数据结构
2019-12-22
0
603