
LeetCode
一流程序员靠数学,二流靠算法,三流靠逻辑,四流靠SDK,五流靠Google和StackOverFlow,六流靠百度和优快云。低端的看高端的就是黑魔法!
Fire king
变强之前需要的隐忍,隐常人之所羡,忍常人之所避,集千穿百孔之洗礼,于群马蜕化而日行千里,于群鲤脱颖而出一跃成龙;以知识改变命运为宗,木秀于林风必摧之为旨,悄无声息汲取知识是为了更好地厚积薄发从而一击即中。
在校大学生,软件工程专业,写博客是为了更好地掌握知识,同时与千万小白并肩,看齐万千大佬,以铜为镜三省吾身史为鉴明得失致修身养性治国平天下之境。
展开
-
树的中序遍历新思路
利用栈和颜色状态实现,入时右中左,出时左中右。原创 2022-05-16 15:52:40 · 97 阅读 · 0 评论 -
306. 累加数-leetcode自解(DFS)
累加数DFS自解加领悟心得。原创 2022-05-16 10:10:03 · 172 阅读 · 0 评论 -
35.搜索插入位置-leetcode自解
java用时击败100%原创 2022-05-10 11:58:46 · 188 阅读 · 0 评论 -
34.在排序数组中查找元素的第一个和最后一个位置-leetcode自解
java用时击败100%原创 2022-05-10 11:28:22 · 387 阅读 · 0 评论 -
寻找两个正序数组的中位数-leetcode自解
时隔多年,回归leetcode,通俗易懂的解法,求过不求性能,小白专用。原创 2022-05-09 15:56:13 · 166 阅读 · 0 评论 -
最接近的三数之和-来自leetcode的领悟
最接近的三数之和给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。分析:1.跟三数之和的解法差不多,唯一不同点就是在找最优解的过程中,i和j移动过程中重复的解决办法,在三数之和中,逼近最优解的过程中,i和j,是不用排除重复的,因为它在符合条件的体内就已进做了这份工作,而在此案例中,为了减少无谓的更新,所以就在寻找最优解的过程中排除重复;2.注意,在i和j排除重复的原创 2020-10-18 16:32:21 · 102 阅读 · 0 评论 -
三数之和-来自leetcode的领悟
三数之和:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。分析:1.先排序防止重复,原因如下:不排序,由于搜索原理的限制,固定指针k,移动指针i和j,搜索范围以k为边界的右边,一趟i和j移动过后,k向右移动,倘若上一次的值和此次的值不重合而与下一次的值重合,那么根据2中的原理可知不能排除掉重复的解,且此次的解只是上次重复值的子集;2.使用三重指原创 2020-10-18 15:34:08 · 102 阅读 · 0 评论 -
罗马数字转整数-来自leetcode的领悟
罗马数字转整数罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:I 可原创 2020-10-12 21:16:32 · 128 阅读 · 0 评论 -
整数转罗马数字-来自leetcode的领悟
整数转罗马数字罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:I 可原创 2020-10-11 21:37:07 · 104 阅读 · 0 评论 -
盛最多的水-来自leetcode的领悟
盛最多的水-来自leetcode的领悟给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49分析:面积=长*宽,宽也就是图中的高题中已给出了高可通过数组获得,即每个x对应唯一一个height[x]原创 2020-10-10 22:05:26 · 199 阅读 · 0 评论 -
字符串转换整数 (atoi)-来自leetcode的领悟
字符串转换整数 (atoi)原题大致意思(其实也是解题思路):首先:丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止;不能是空串;第一个字符不能是非法字符,可以是正负号或者数字;数字部分不能包含非法字符。注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换,即无法进行有效转换。在任何情况下,若函数不能进行有效的转换时,请返回 0 。Character.isDigit(str.charAt(0))判断下标为0的字符是否为原创 2020-10-08 22:22:54 · 103 阅读 · 0 评论 -
不含有重复字符的最长子串的长度-来自leetcode的领悟
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例 1:输入: “xlhxlhbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “ccccc”输出: 1解释: 因为无重复字符的最长子串是 “c”,所以其长度为 1。示例 3:输入: “owwrew”输出: 3解释: 因为无重复字符的最长子串是 “wre”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“orke” 是一个子序列,不是子串。思路:1.设置子原创 2020-09-12 12:05:53 · 1160 阅读 · 1 评论 -
不能转化成字符串的整数反转-来自leetcode的领悟
题前科普:1.一个整数%10=个位2.一个整数/10=去除个位后的部分3.num =num*10+x能将个位,十位…凑成一个多位数4.上面操作即使是负数也能做,不用顾虑太多。题目:反转整数,不能转化成字符串操作。注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。代码:class Solution { public int reverse(int x) { lo.原创 2020-09-11 11:31:21 · 197 阅读 · 0 评论 -
判断整数是否为回文序列-来自leetcode的领悟
一个整数%10=个位一个整数/10=去除个位后的部分num =num*10+x能将个位,十位…凑成一个多位数原创 2020-09-11 11:08:49 · 117 阅读 · 0 评论 -
回文序列的判断
回文序列的判断:要点:仅需遍历前面一半即可。public class palindrome { boolean is_palindrome (String[] num) { int n = num.length; for(int i = 0 ;i<n/2 ;i++) if(num[i]!=num[n-i-1]) return false; return true; }原创 2020-09-09 11:38:26 · 521 阅读 · 0 评论 -
leetcode算法面试题-3
leetcode算法面试题-2搜索二维矩阵 II编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, 21, 23, 26, 30]]给定 target =转载 2020-09-06 15:27:04 · 98 阅读 · 0 评论 -
leetcode算法面试题-2
leetcode算法面试题-2多数元素给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2代码:class Solution { public int majorityElement(int[] nums) { Arrays.sort(nums);转载 2020-09-06 15:22:57 · 84 阅读 · 0 评论 -
leetcode算法面试题-1
leetcode算法面试题-1只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4代码:class Solution { public int singleNumber(int[] nums) { int resu原创 2020-09-06 15:17:13 · 88 阅读 · 0 评论