2.03 ✅ Two Pointers

Two Pointers #

  • 双指针滑动窗口的经典写法。右指针不断往右移,移动到不能往右移动为止(具体条件根据题目而定)。当右指针到最右边以后,开始挪动左指针,释放窗口左边界。第 3 题,第 76 题,第 209 题,第 424 题,第 438 题,第 567 题,第 713 题,第 763 题,第 845 题,第 881 题,第 904 题,第 978 题,第 992 题,第 1004 题,第 1040 题,第 1052 题。
	left, right := 0, -1

	for left < len(s) {
		if right+1 < len(s) && freq[s[right+1]-'a'] == 0 {
			freq[s[right+1]-'a']++
			right++
		} else {
			freq[s[left]-'a']--
			left++
		}
		result = max(result, right-left+1)
	}
  • 快慢指针可以查找重复数字,时间复杂度 O(n),第 287 题。
  • 替换字母以后,相同字母能出现连续最长的长度。第 424 题。
  • SUM 问题集。第 1 题,第 15 题,第 16 题,第 18 题,第 167 题,第 923 题,第 1074 题。
No.TitleSolutionDifficultyTimeComplexitySpaceComplexityFavoriteAcceptance
0011Container With Most WaterGoMediumO(n)O(1)53.1%
00153SumGoMediumO(n^2)O(n)❤️28.9%
00163Sum ClosestGoMediumO(n^2)O(1)❤️46.5%
00184SumGoMediumO(n^3)O(n^2)❤️35.8%
0019Remove Nth Node From End of ListGoMediumO(n)O(1)36.5%
0026Remove Duplicates from Sorted ArrayGoEasyO(n)O(1)47.3%
0027Remove ElementGoEasyO(n)O(1)49.9%
0028Implement strStr()GoEasyO(n)O(1)35.7%
0031Next PermutationGoMedium34.3%
0042Trapping Rain WaterGoHardO(n)O(1)❤️52.5%
0061Rotate ListGoMediumO(n)O(1)32.4%
0075Sort ColorsGoMediumO(n)O(1)❤️50.9%
0080Remove Duplicates from Sorted Array IIGoMediumO(n)O(147.0%
0082Remove Duplicates from Sorted List IIGoMedium40.1%
0086Partition ListGoMediumO(n)O(1)❤️45.6%
0088Merge Sorted ArrayGoEasyO(n)O(1)❤️41.3%
0125Valid PalindromeGoEasyO(n)O(1)39.2%
0141Linked List CycleGoEasyO(n)O(1)❤️43.6%
0142Linked List Cycle IIGoMediumO(n)O(1)❤️40.8%
0143Reorder ListGoMedium42.3%
0148Sort ListGoMedium47.7%
0151Reverse Words in a StringGoMedium25.0%
0160Intersection of Two Linked ListsGoEasy45.9%
0167Two Sum II - Input array is sortedGoEasyO(n)O(1)56.3%
0189Rotate ArrayGoMedium36.9%
0202Happy NumberGoEasy51.7%
0234Palindrome Linked ListGoEasyO(n)O(1)43.3%
0283Move ZeroesGoEasyO(n)O(1)59.0%
0287Find the Duplicate NumberGoMediumO(n)O(1)❤️58.1%
0344Reverse StringGoEasyO(n)O(1)71.4%
0345Reverse Vowels of a StringGoEasyO(n)O(1)45.7%
0349Intersection of Two ArraysGoEasyO(n)O(n)66.3%
0350Intersection of Two Arrays IIGoEasyO(n)O(n)52.6%
0392Is SubsequenceGoEasy49.8%
0457Circular Array LoopGoMedium30.6%
0524Longest Word in Dictionary through DeletingGoMediumO(n)O(1)50.3%
0532K-diff Pairs in an ArrayGoMediumO(n)O(n)36.1%
0541Reverse String IIGoEasy49.8%
0557Reverse Words in a String IIIGoEasy73.2%
0567Permutation in StringGoMediumO(n)O(1)❤️44.6%
0581Shortest Unsorted Continuous SubarrayGoMedium33.2%
0633Sum of Square NumbersGoMedium32.9%
0653Two Sum IV - Input is a BSTGoEasy56.7%
0658Find K Closest ElementsGoMedium43.4%
0696Count Binary SubstringsGoEasy61.6%
0719Find K-th Smallest Pair DistanceGoHard33.0%
0763Partition LabelsGoMediumO(n)O(1)❤️78.3%
0795Number of Subarrays with Bounded MaximumGoMedium51.7%
0821Shortest Distance to a CharacterGoEasy70.3%
0826Most Profit Assigning WorkGoMediumO(n log n)O(n)39.6%
0832Flipping an ImageGoEasy78.7%
0838Push DominoesGoMediumO(n)O(n)50.6%
0844Backspace String CompareGoEasyO(n)O(n)47.2%
0845Longest Mountain in ArrayGoMediumO(n)O(1)38.9%
0876Middle of the Linked ListGoEasy69.5%
0881Boats to Save PeopleGoMediumO(n log n)O(1)49.3%
0922Sort Array By Parity IIGoEasy70.7%
09233Sum With MultiplicityGoMediumO(n^2)O(n)41.0%
0925Long Pressed NameGoEasyO(n)O(1)36.2%
0942DI String MatchGoEasy74.3%
0969Pancake SortingGoMedium69.0%
0977Squares of a Sorted ArrayGoEasyO(n)O(1)71.5%
0986Interval List IntersectionsGoMediumO(n)O(1)69.0%
1040Moving Stones Until Consecutive IIGoMedium54.8%
1048Longest String ChainGoMedium56.3%
1089Duplicate ZerosGoEasy51.5%
1093Statistics from a Large SampleGoMediumO(n)O(1)47.6%
1332Remove Palindromic SubsequencesGoEasy68.7%
1385Find the Distance Value Between Two ArraysGoEasy66.5%
1658Minimum Operations to Reduce X to ZeroGoMedium33.3%
1679Max Number of K-Sum PairsGoMedium53.6%
1721Swapping Nodes in a Linked ListGoMedium66.5%
——————————————————————-——-—————-—————————-————-————-

⬅️上一页

下一页➡️

Calendar Jul 16, 2021
Edit Edit this page
本站总访问量:  次 您是本站第  位访问者