摘要:
1.1、题目1 剑指 Offer 42. 连续子数组的最大和 1.2、解法 得到转移方程后,单次遍历。 当前面的连续子数组的和比较是否大于0,是则加起来, 若小于零,则当前的值就可当子数组的开头。 判断每次的大小则取出最大值。 1.3、代码 class Solution { public int m 阅读全文
摘要:
1.1、题目1 剑指 Offer 10- I. 斐波那契数列 1.2、解法 斐波那契数列,滚动数组解决,这题有个最大值的限制,记得mod 1.3、代码 class Solution { public int fib(int n) { final int M = 1000000007; if(n==0 阅读全文
摘要:
1.1、题目1 剑指 Offer 26. 树的子结构 1.2、解法 这题看了解法,感叹真的6,代码量减了很多。 (A != null && B != null) && (recur(A, B) || isSubStructure(A.left, B) || isSubStructure(A.righ 阅读全文
摘要:
1.1、题目1 剑指 Offer 32 - I. 从上到下打印二叉树 1.2、解法 其实这三道题都是广度遍历二叉树的方式。 通过队列实现,存进数组中返回。 1.3、代码 /** * Definition for a binary tree node. * public class TreeNode 阅读全文
摘要:
1.1、题目1 剑指 Offer 04. 二维数组中的查找 1.2、解法 其实就是暴力解法的升级版,从最后一行开始判断,通过num当前的大小, 如果还是大于目标值则行数-1,若是小于则列数+1 1.3、代码 class Solution { public boolean findNumberIn2D 阅读全文
摘要:
1.1、题目1 剑指 Offer 03. 数组中重复的数字 1.2、解法 摊牌了,我是hash表忠实粉丝,好多题用hash都简单很多, 用的舒服,写的放心~ 1.3、代码 class Solution { public int findRepeatNumber(int[] nums) { Set h 阅读全文
摘要:
1.1、题目1 剑指 Offer 05. 替换空格 1.2、解法 这题很简单,就判断是否为空格就替换成%20加到stringbuffer里, 也有其他方法可以实现,但是得弄长度啥的太麻烦,我比较喜欢用stringbuffer, 可以方便很多,到最后tostring就行。 1.3、代码 class S 阅读全文
摘要:
1.1、题目1 剑指 Offer 06. 从尾到头打印链表 1.2、解法 本题 我使用的是简单获取链表长度并创建数组,同时从数组尾部向前赋值。 1.3、代码 /** * Definition for singly-linked list. * public class ListNode { * in 阅读全文
摘要:
1.1、题目1 剑指 Offer 09. 用两个栈实现队列 1.2、解法 解法如题目所说。定义两个栈。这里假设第一个栈为a,第二个栈为b。 实现两个函数增加尾和删除头。 增加即直接push入第一个栈。 删除函数:通过判断a是否为空进行循环,将已经存入的a的栈顶pop存到b中,以此达到倒置的效果。 再 阅读全文
摘要:
#基础 Java8 牛客网、Leetcode刷题(数据结构、算法) 计算机网络 计算机基础 操作系统 数据库入门(7天,老杜MySQL入门视频,SQL自学网) 学习开发框架(Java web——spring5,spring mvc,mybatis,springboot框架——同一家视频教程尚硅谷老师 阅读全文