java 算法
文章平均质量分 51
比巴卜果粒多
这个作者很懒,什么都没留下…
展开
-
LeetCode 剑指offer ——旋转数组的最小数字
描述有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。数据范围:1≤ n ≤10000,数组中任意元素的值: 0≤val≤10000要求:空间复杂度:O(1) ,时间复杂度:O(logn)示例1输入: [3,4,5,1,2]返回值: 1示例2输入: [3,100,200,3]返回值:原创 2022-04-09 15:32:04 · 505 阅读 · 0 评论 -
LeetCode剑指offer——用两个栈实现队列
描述用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。数据范围: n\le1000n≤1000要求:存储n个元素的空间复杂度为 O(n)O(n) ,插入与删除的时间复杂度都是 O(1)O(1)示例1输入:["PSH1","PSH2","POP","POP"]返回值:1,2说明:"PSH1":代表将1插入队列尾原创 2022-04-02 10:48:00 · 202 阅读 · 0 评论 -
LeetCode剑指offer——重建二叉树
描述给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。提示:1.vin.length == pre.length2.pre 和 vin 均无重复元素3.vin出现的元素均出现在 pre里4.只需要返回根结点,系统会自动输出整颗树做答案对比数据范围:n ≤ 2000,节点的值 -10000 ≤ val ≤ 1..原创 2022-03-30 09:35:27 · 266 阅读 · 0 评论 -
剑指offer——链表逆序
描述输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。如输入{1,2,3}的链表如下图:返回一个数组为[3,2,1]0 <= 链表长度 <= 10000示例1输入: {1,2,3}返回值:[3,2,1]示例2输入:{67,0,24,58}返回值:[58,24,0,67]思路一首先想到就是暴力遍历ListNode可能有些同学没学过数据结构,先学习一下 ListNodepublic class ListNode { int v原创 2022-03-28 00:02:43 · 123 阅读 · 3 评论 -
剑指offer——字符串替换空格
描述请实现一个函数,将一个字符串s中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。数据范围:0 \le len(s) \le 1000 \0≤len(s)≤1000 。保证字符串中的字符为大写英文字母、小写英文字母和空格中的一种。示例1输入:"We Are Happy"返回值:"We%20Are%20Happy"示例2输入: " "返回值: “%20”public class Solution {原创 2022-03-25 20:54:00 · 557 阅读 · 0 评论 -
剑指offer经典题目——二维数组中的查找
描述在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]给定 target = 7,返回 true。给定 target = 3,返回 false。数据范围:矩阵的长宽满足 0≤n,m≤500 , 矩阵中的值满足 0 ≤ val ≤10^9示例1输原创 2022-03-24 16:43:43 · 125 阅读 · 0 评论 -
剑指offer经典题目——求数组中重复的数字 算法 java
描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1数据范围:0<n<10000进阶:时间复杂度O(n) ,空间复杂度 : O(n)示例1输入:[2,3,1,0,2,5,3]返回值:2说明:2或3都是对的 .原创 2022-03-23 15:25:22 · 83 阅读 · 0 评论