刷题
失散Lost
这个作者很懒,什么都没留下…
展开
-
面试题 10.01. 合并排序的数组
给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B。 编写一个方法,将 B 合并入 A 并排序。 初始化 A 和 B 的元素数量分别为 m 和 n。 示例: 输入: A = [1,2,3,0,0,0], m = 3 B = [2,5,6], n = 3 输出: [1,2,2,3,5,6] 来源:力扣(LeetCode) 链接:https://leetcode-c...原创 2020-03-03 21:59:39 · 144 阅读 · 0 评论 -
剑指offer:面试题39. 数组中出现次数超过一半的数字
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输出: 2 限制: 1 <= 数组长度 <= 50000 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/shu-zu-zhong-c...原创 2020-03-03 21:54:39 · 153 阅读 · 0 评论 -
剑指offer:面试题07. 重建二叉树
剑指offer:面试题07. 重建二叉树 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3 / \ 9 20 / \ ...原创 2020-02-14 09:52:09 · 171 阅读 · 0 评论 -
面试题04. 二维数组中的查找
剑指offer:面试题04. 二维数组中的查找 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, ...原创 2020-02-13 13:09:25 · 224 阅读 · 0 评论 -
leetcode: 59. 螺旋矩阵 II
leetcode: 59. 螺旋矩阵 II 给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] class Solution { public int[][] generateMatrix(int n) { ...原创 2020-01-14 20:31:16 · 244 阅读 · 0 评论 -
剑指offer:旋转数组的最小数字
剑指offer:旋转数组的最小数字 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 import java.util.*; public class Solution ...原创 2020-01-14 17:22:01 · 114 阅读 · 0 评论 -
leetcode: 46. 全排列
leetcode: 46. 全排列 给定一个没有重复数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] class Solution { public List<List<Integer>> permu...原创 2020-01-14 16:09:34 · 111 阅读 · 0 评论 -
剑指offer:用两个栈实现队列
剑指offer:用两个栈实现队列 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 import java.util.Stack; public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stac...原创 2020-01-14 10:08:50 · 132 阅读 · 0 评论 -
剑指offer:从尾到头打印链表
剑指offer:从尾到头打印链表 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 by牛客网讨论区的大佬 使用了递归的思想 /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * t...原创 2020-01-14 09:55:45 · 94 阅读 · 0 评论 -
剑指offer:重建二叉树
剑指offer:重建二叉树 by牛客网 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回 /** * Definition for binary tree * public class TreeNode { ...原创 2020-01-14 09:45:46 · 97 阅读 · 0 评论 -
leetcode: 70. 爬楼梯
leetcode: 70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1...原创 2020-01-08 11:29:40 · 155 阅读 · 0 评论 -
剑指offer:连续子数组的最大和
剑指offer:连续子数组的最大和(牛客网) HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)...原创 2020-01-08 10:51:05 · 80 阅读 · 0 评论 -
leetcode:206.反转链表
206. 反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? import java.util.*; /** * Definition for singly-linked list. ...原创 2020-01-08 10:47:39 · 121 阅读 · 0 评论