Loading

随笔分类 -  面试题

摘要:34. 在排序数组中查找元素的第一个和最后一个位置 题目 难度中等739 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为 O(lo 阅读全文
posted @ 2020-12-02 10:00 Sidewinder 阅读(109) 评论(0) 推荐(0)
摘要:括号匹配 题目描述 给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列 括号必须以正确的顺序关闭,"()"和"()[]"都是合法的括号序列,但"(]"和"([)]"不合法。 代码实现: 首先设置一个mp,用于记录 三种括号对。 左括号:当 阅读全文
posted @ 2020-11-27 12:15 Sidewinder 阅读(282) 评论(0) 推荐(0)
摘要:234. 回文链表 方法: 快慢指针 主要思路: 使用快慢指针,从第一个位置开始(不是从dummyHead开始),slow最后指向的是靠后中间位置;(类似于二分) 然后我们可以在慢指针移动过程中,将前面一半的链表反转;slow之前的所有节点都以反转next。 我们获得前后两段连接: l1 = pre 阅读全文
posted @ 2020-10-23 15:49 Sidewinder 阅读(85) 评论(0) 推荐(0)
摘要:Leetcode 0075. 颜色分类 难度:mid 题目 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决 阅读全文
posted @ 2020-10-07 10:26 Sidewinder 阅读(156) 评论(0) 推荐(0)
摘要:最小编辑距离(动态规划问题) 题目描述 给定两个字符串str1和str2,再给定三个整数ic,dc和rc,分别代表插入、删除和替换一个字符的代价,请输出将str1编辑成str2的最小代价。 定义子问题: dp[i][j] 表示 长度为i的第一个字符串 编辑成长度为j的第二个字符串消耗的代价; 当st 阅读全文
posted @ 2020-09-29 16:04 Sidewinder 阅读(486) 评论(0) 推荐(0)