自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 数组中的第K个最大元素

题目链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/题目描述:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长

2020-07-13 21:04:27 125

原创 算法题-从中序和后序遍历序列构造二叉树

题目链接:https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/题目描述:根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 1

2020-07-10 20:07:12 337

原创 算法题-替换空格

题目链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/题目描述:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000解答因为是从一个字符(空格)变成三个字符("%20"),所以申请一个字符数组,长度为字符串长度的3倍。循环判断字符串中字符是否为空格,如果是将字符数组

2020-07-09 17:33:24 171

原创 算法题-二维数组中的查找

题目链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/题目描述:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9

2020-07-09 17:06:23 225

原创 算法题-螺旋矩阵Ⅱ

题目链接:https://leetcode-cn.com/problems/spiral-matrix-ii/题目描述:给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]解答把1~n^2的值顺时针螺旋填入数组中,按照自左向右、自上向下、自右向左、自下向上的顺序填入。使用left、right、top、bottom分别表示左边界、右边界、上

2020-07-09 12:44:07 165

原创 算法题-数组中重复的数字

题目链接:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/题目描述:找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000

2020-07-08 19:25:53 152

原创 算法题-路径总和

题目链接:https://leetcode-cn.com/problems/path-sum/题目描述:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4

2020-07-07 17:47:37 142

原创 算法题-四数之和

题目链接:https://leetcode-cn.com/problems/4sum/题目描述:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为:[ [-1,

2020-07-06 18:37:18 199

原创 算法题-三数之和

题目链接:题目描述:解法一排序+双指针法,时间复杂度:O(N)//先对数组进行排序//固定第一个数nums[i],如果nums[i]大于0,那么不可能有三个数的和为0//如果nums[i]等于它的前一个数nums[i-1],就跳过这个数,去重//使用两个指针,left和right,left从i+1开始,right从len-1开始//当left<right时,//nums[i],nums[left]和nums[right]的和为sum//如果sum>0,就将right前移,ri

2020-07-06 12:08:40 259

原创 算法题-有效的字母异位词

题目链接:https://leetcode-cn.com/problems/valid-anagram/题目描述:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。解法一将字符串转换为字符数组,进行排序,再比较是否相同。class Solutio

2020-07-05 16:34:15 175

原创 算法题-最长有效括号

题目链接:https://leetcode-cn.com/problems/longest-valid-parentheses/题目描述:给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"解法一使用栈来存储元素下标,从下标来计算长度。时间复杂度:O(N),N为字符串长度,遍历每个字符串元素。

2020-07-04 15:29:59 137

原创 算法题-将有序数组转换为二叉搜索树

题目链接:https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree/题目描述:将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0

2020-07-03 11:31:04 151

原创 算法题-二叉树的中序遍历

题目链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/题目描述:给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶: 递归算法很简单,你可以通过迭代算法完成吗?解法一通过递归实现。时间复杂度:O(N),空间复杂度:平均是O(logn)(树的高度)。最坏是O(n)(当树退化成链表时)。/** * D

2020-07-02 19:18:39 354

原创 算法题-FizzBuzz

题目链接:https://leetcode-cn.com/problems/fizz-buzz/题目描述:写一个程序,输出从 1 到 n 数字的字符串表示。如果 n 是3的倍数,输出“Fizz”;如果 n 是5的倍数,输出“Buzz”;3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。示例:n = 15,返回:[ "1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "

2020-07-01 15:39:03 268

原创 算法题-用两个栈实现队列

题目链接:https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/题目描述:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能(若队列中没有元素,deleteHead 操作返回 -1 )。示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"

2020-07-01 11:25:04 110

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除