自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 27:移除元素

问题描述给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素...

2020-02-29 11:31:31 72

原创 26:删除排序数组中的重复项

问题描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。给定 nums =...

2020-02-29 10:34:34 196

原创 21:合并两个有序链表

问题描述将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例输入:1->2->4, 1->3->4输出:1->1->2->3->4->4图解思路经典的数据结构问题。如果想省一个结点,就先判断出l1和l2哪个小,让head指向小的。(方法一)如果想程序写的简洁一点,那么就弄出来一个头...

2020-02-29 10:08:01 139

原创 20:有效的括号

问题描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例输入: "()"输出: true输入: "()[]{}"输出: true输入: "(]"输出: false输入: "([)]"输出: false...

2020-02-28 23:10:25 121

原创 14:最长公共前缀

问题描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例输入: ["flower","flow","flight"]输出: "fl"输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。问题分析一个显而易见的思路就是,找到一个最短的串,判断它是不是序列中所有串的子串,如果是,则返回;如果不是,...

2020-02-28 22:01:57 124

原创 13:罗马数字转整数

问题描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列...

2020-02-27 21:28:20 109

原创 9:回文数

问题描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例输入: 121输出: true输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:你能不将整数转为字符串...

2020-02-27 20:07:06 83

原创 7:整数反转

问题描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例输入: 123输出: 321输入: -123输出: -321输入: 120输出: 21假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。思路这题其实就是说32位,int的长度。忘了上下限是...

2020-02-27 19:25:14 148

原创 【洗牌算法】- 打乱数组

应用场景抽奖、游戏公司洗牌、一切需要随机的地方。算法思想Fisher–Yates shuffle - 目前最好的乱序算法。第一步需要做的就是,从数组末尾开始,选取最后一个元素。在数组一共 9 个位置中,随机产生一个位置,该位置元素与最后一个元素进行交换。上一步中,我们已经把数组末尾元素进行随机置换。接下来,对数组倒数第二个元素动手。在除去已经排好的最后一个元素位置以外的8个位...

2020-02-26 22:51:56 270

原创 测试开发序列春招JD

美团截止日期 2020.02.22 -tag 简历稀缺岗位职责如果你耐心、细心,喜欢玩大家来找茬;如果你对技术有着各种吹毛求疵的见解和发现;在这里,你可以尽情尝鲜,在第一时间发现各种BUG;在这里,你可以用领先技术来保证产品质量,让亿万消费者受益;在这里,你就是产品质量的Gatekeeper!任职要求1.良好的CS基础,熟练使用C家族/Java/Python/Ruby/Ja...

2020-02-22 10:03:57 590

原创 【PKU算法课0x03】分治算法

分治算法概念把一个任务,分成形式和原任务相同,但规模更小的几个部分任务(通常是两个部分),分别完成,或只需要选一部分完成。然后再处理完成后的这一个或几个部分的结果,实现整个任务的完成。听上去和整体来做没什么区别,其实不然。根据上面的定义,我们如果只选一部分就能完成任务,那么会大大降低时间复杂度。而且,就算是每个部分都要搞,那某些时候时间复杂度也会大大降低的,可以用数学论证。分治实例称硬币...

2020-02-03 13:36:09 233

原创 【PKU算法课0x02】二分算法

二分算法的意义可以将有序序列的查找的时间复杂度从O(n)降低到O(logn).二分查找的前提条件待查找序列是有序的,即单调的。二分查找的考查形式朴素的二分查找(元素有序且各不相同)二分查找变种(含有相同元素,比如要找比k小的最后一个值)二分查找应用思路如果给定的序列是有序的,或者说是稍加改动之后是有序的,或者说先排序后查找复杂度更低的,都可以用二分。总而言之,只要是有序序列的查找,...

2020-02-02 14:07:13 260

空空如也

空空如也

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

TA关注的人

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