LeetCode
文章平均质量分 58
CLthinking
这个作者很懒,什么都没留下…
展开
-
LeetCode--旋转有序数组大总结
我们知道在一段有序的数组里面查找某一个数字时可以使用二分查找算法来实现o(lgn)时间复杂度的查找,现在题目给我们的数组是有序数组的旋转。比如原数组为(1,2,3,4,5,6,7),旋转后可能变成(2,3,4,5,6,7,1)或者(4,5,6,7,1,2,3)等等。可以发现旋转后的数组不在满足有序的特性了,因此不能直接的套用二分查找算法,但是观察可以发现,旋转之后的数组是分段有序的...原创 2018-12-21 19:46:01 · 2684 阅读 · 0 评论 -
LeetCode--Majority Element--Boyer-Moore算法总结
找数组中的Majority Element,Majority Element的定义见下,对应着LeetCode上的两道题,直接看题:LeetCode--169. Majority Element给定一个长度为n的数组,找出其中的Majority Element。其中Majority Element的定义为数组中出现次数大于 n / 2次的数字。解决这个问题有以下几种思...原创 2018-12-22 10:47:08 · 1593 阅读 · 0 评论 -
解析字符串中的四则运算(c++)
前几天刷LeetCode时,刷到了LeetCode---224. Basic Calculator和LeetCode---227. Basic Calculator II这两题,都是解析字符串中的四则表达式。题目分别如下:题目意思很明确,输入的是字符串形式的四则运算,要求输出其四则运算的结果。记得曾经在《大话数据结构》那一本书上见到过使用后缀表达式来求解这类问题。所幸就动手实现一遍。这里可...原创 2018-12-28 15:07:58 · 3529 阅读 · 0 评论 -
LeetCode99---Recover Binary Search Tree(恢复二叉搜索树)
直接看题:我们知道对于二叉搜索树来说,对其中序遍历得到的就是一个有序数组了。在这篇博客中,我们讨论恢复交换两个元素的排序数组的问题,和本题如出一辙。直接看AC代码:class Solution { private TreeNode prev = new TreeNode(Integer.MIN_VALUE); private TreeNode first; ...原创 2019-03-05 15:35:07 · 153 阅读 · 0 评论 -
LeetCode---顺时针打印矩阵
听说头条笔试特别喜欢考顺时针打印矩阵,正好LeetCode上有一道类似的题LeetCode---54. Spiral Matrix,题目描述如下:这道题的Discuss区的高票答案特别的简洁易懂,特此分享一下:class Solution { public List<Integer> spiralOrder(int[][] matrix) { Li...原创 2019-03-13 21:18:17 · 2856 阅读 · 0 评论 -
LeetCode--704. Binary Search
二分查找的两种写法:1、循环:class Solution { public int search(int[] nums, int target) { if(nums == null) { return -1; } int lo = 0; int hi = nums.length - 1;...原创 2019-03-18 20:03:18 · 126 阅读 · 0 评论 -
LeetCode15--三数之和,进来学细节
题目表述:给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]AC...原创 2019-09-22 22:04:44 · 232 阅读 · 0 评论