![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指Offer
MJ-wen
这个作者很懒,什么都没留下…
展开
-
剑指Offer-链表问题
剑指Offer-链表问题 单链表 题目描述–jz3 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 输入 {67,0,24,58} 输出 [58,24,0,67] 题目分析 使用Stack存储数据,pop()输出 public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer> res=new ArrayList<Integer>原创 2021-04-02 20:56:10 · 53 阅读 · 0 评论 -
剑指Offer--分类类型:递归、动态规划
剑指Offer–分类类型:递归、动态规划 牛客网第ZJ8、JZ10题 ZJ8 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 输入:1 输出:1 输入:4 输出:5 解题思路 递归法: 原理: 把 f(n)f(n) 问题的计算拆分成 f(n-1)f(n−1) 和 f(n-2)f(n−2) 两个子问题的计算,并递归,以 f(0)f(0) 和 f(1)f(1) 为终止条件。 缺点: 大量重复的递归计算,例如 f(n)f(n) 和 f(n -原创 2021-03-30 21:02:50 · 66 阅读 · 0 评论 -
剑指offer---分类类型:数组重复元素问题
剑指offer: 牛客网题数:50 题目内容:给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 的范围内。 数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。 请找出数组中任意一个重复的数字。 注意:如果某些数字不在 0∼n−1 的范围内,或数组中不包含重复数字,则返回 -1; 例子: 给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。 返回 2 或 3。 题目分析: 给定一个长度为 n ,数组中所有的数字都在 0∼n−1 的范围原创 2021-03-30 21:01:42 · 54 阅读 · 0 评论 -
剑指Offer--分类类型:排序
剑指Offer--分类类型:排序牛客网第JZ29,JZ63题() 牛客网第JZ29,JZ63题() JZ29(快速排序) 给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组 输入:[4,5,1,6,2,7,3,8],4 输出:[1,2,3,4] 解题思路 代码: 基于递归, class Solution { //快速排序算法 public int[] getLeastNumb原创 2021-03-14 19:46:02 · 81 阅读 · 0 评论