ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【手把手带你刷Leetcode力扣】1.算法 - 双指针

2021-10-10 20:01:58  阅读:175  来源: 互联网

标签:None slow people 手把手 fast 力扣 Complexity Leetcode 指针


  • 普通双指针:两个指针往同一个方向移动
  • 对撞双指针:两个指针面对面移动(有序数列)
  • 快慢双指针:慢指针+快指针(环形链表)

141.环形链表

class Solution:
	# Time Complexity: O(N)
	# Space Complexity: O(1)
	def hasCycle(self, head: ListNode) -> bool:
		if head is None:
			return False
		slow = head
		fast = head
		while fast is not None and fast.next is not None:
			fast = fast.next.next
			slow = slow.next
			if slow == fast:
				return True
		
		retrun False

881.救生艇

class Solution:
	# Time Complexity: O(NlogN)
	# Space Complexity: O(1)
	def numRescueBoats(self, people: List[int], limit: int) -> int:
		if people is None or len(people) == 0:
			retrun 0
		people.sort()
		i = 0
		j = len(people) - 1
		res = 0
		while (i <= j):
			if people[i]+people[j] <= limit:
				i = i + 1
			j = j - 1
			res = res + 1
		return res

学习视频来源B站—爱学习的饲养员—手把手带你刷Leetcode力扣

标签:None,slow,people,手把手,fast,力扣,Complexity,Leetcode,指针
来源: https://blog.csdn.net/ZZBOOM_/article/details/120689431

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有