leetcode算法实际应用
LostDog。
三流程序员,音乐爱好者。
展开
-
最长公共前缀问题————leetcode第14题详解
请看下题,题目来源自leetcode第14题:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。第一眼看到就是...原创 2020-04-29 00:08:42 · 187 阅读 · 0 评论 -
经典快慢指针————leetcode第26题
题目如下(出自leetcode第26题):给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组...原创 2020-04-10 00:34:48 · 261 阅读 · 0 评论 -
链表的实际运用————leetcode第21题详解
不废话,题如下(来自leetcode第21题):将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4 , 1->3->4输出:1->1->2->3->4->4解:这道题题干非常简单,就是把两个链表合并,什么?你说你不知道啥叫链表?请点击这个神秘链接点这里,这里能教给...原创 2020-04-09 00:14:35 · 211 阅读 · 0 评论 -
有趣的罗马数问题————从leetcode第13题说起
罗马数问题是一道非常有意思的题,下面是题干(来自leetcode第13题):罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符数值I1V5X10L50C100D500M1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVI...原创 2020-04-08 18:17:38 · 273 阅读 · 0 评论 -
经典算法回文数问题————leetcode第9题详解
回文数是一个经典老题了,这个概念在我小学数学奥赛时就已经接触过了,现在是和编程结合起来,变得更加有意思。(以下来自leetcode第9题)判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此...原创 2020-04-07 22:42:48 · 276 阅读 · 0 评论 -
关于溢出问题————从leetcode第7题说起
废话少说,直接上题:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。解:题干...原创 2020-04-07 21:34:47 · 225 阅读 · 0 评论 -
双指针的应用————从leetcode第88题说起
双指针一直是leetcode中的一个有意思的点,刷了一些题见了很多次双指针,合理运用双指针可以达到一个巧夺天工的作用,废话不多说,请看题:出自leetcode第88题:给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 num1 成为一个有序数组。题目说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 num...原创 2020-03-30 20:42:45 · 153 阅读 · 0 评论 -
二分查找的实际应用————从leetcode第35题说起
下面是leetcode第35题,难度easy:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,...原创 2020-03-25 11:46:17 · 263 阅读 · 0 评论 -
栈的实际应用————从leetcode第20题说起
让我们先来看这样一道题:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示...原创 2020-03-23 13:57:21 · 157 阅读 · 0 评论