- 博客(13)
- 收藏
- 关注
原创 罗马数字转整数——python
问题描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的...
2020-03-13 19:25:19 514
原创 合并K个排序链表——python
问题描述合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6来源Leetcode:https://leetcode-cn.com/problems/merge-k-sorted-li...
2020-03-12 22:28:40 538
原创 删除链表的倒数第N个节点——python
问题描述给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.双指针法p,q=head,先将q向后移动n,再一起将p,q向后移动到尾部p则为应要删除的结点的前一个指针特殊数据:n刚好等于链表长度,直接用he...
2020-03-11 18:36:34 716
原创 两数相加——python
问题描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -...
2020-03-10 19:44:41 783
原创 环形链表——python
问题描述给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 :输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。双指针法快慢指针,快指针每走两步慢指针走一步,二者相遇的话说明有环代...
2020-03-09 19:42:06 176
原创 删除排序链表中的重复元素——python
问题描述给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3双指针代码class Solution: def deleteDuplicates(self, head: ListNode) ->...
2020-03-08 18:28:26 349
原创 合并两个有序链表——python
题目描述将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4递归解法class Solution: def mergeTwoLists(self, l1: ListNode, l2: ListNode) ...
2020-03-07 19:28:08 328
原创 买卖股票的最佳时机 III——python
问题描述给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利...
2020-03-06 22:02:58 227
原创 最接近的三数之和——python
问题描述给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).排序加双指针法有了相似题目三数之和...
2020-03-05 19:19:49 463
原创 三数之和——python
问题描述给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。暴力求解时间复杂度为O(n3)无法通过测试感谢吴彦祖的题解:原来还可以这样排序加双指针法首先将列表有序化方便排除重复解和确定三个元素的相对位置i为最小的数,l为中间数,r为最大数...
2020-03-04 20:02:04 914
原创 移除元素—— python
问题描述暴力求解代码class Solution: def removeElement(self, nums: List[int], val: int) -> int: i = 0 while i < len(nums): if nums[i] == val: nums.pop(i)...
2020-03-03 21:22:42 181
原创 删除排序数组中的重复项——python
问题描述问题解析根据题目描述:原列表是有序的。只能使用已知数量的空间,不得创建额外列表。使用两个index p和q,p用来指示为重复元素,q用来指示和p位置处相等的元素,直到q处元素不和p处相等p = p + 1由于p为列表中不重复元素,则列表长度应为p+1class Solution: def removeDuplicates(self, nums: List[int]) -&g...
2020-03-02 13:15:00 408
原创 两数之和——python
问题描述:方法一暴力求解:代码如下class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i in range(len(nums)): for j in range(i+1,len(nums)): if...
2020-03-01 11:37:47 264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人