mirror of
https://github.com/prdlk/leetcode.git
synced 2026-11-02 13:12:44 +00:00
feat(work): add sliding window solution for maximum average subarray and implement longest consecutive sequence
This commit is contained in:
1 parent
c2a375fffc
commit
4a1838ab28
2 files changed
+69
-1
No files matched your search
@@ -39,4 +39,15 @@ Constraints:
|
||||
|
||||
class Solution:
|
||||
def findMaxAverage(self, nums: list[int], k: int) -> float:
|
||||
maxAvg = 0
|
||||
window_sum = 0
|
||||
for i in range(k):
|
||||
window_sum += nums[i]
|
||||
largest = window_sum
|
||||
|
||||
for right in range(k, len(nums)):
|
||||
left = right - k
|
||||
window_sum -= nums[left]
|
||||
window_sum += nums[right]
|
||||
largest = max(largest, window_sum)
|
||||
|
||||
return largest / k
|
||||
@@ -0,0 +1,57 @@
|
||||
"""
|
||||
128. Longest Consecutive Sequence
|
||||
Difficulty: Medium
|
||||
https://leetcode.com/problems/longest-consecutive-sequence/
|
||||
|
||||
──────────────────────────────────────────────────
|
||||
|
||||
Given an unsorted array of integers nums, return the length of the
|
||||
longest consecutive elements sequence.
|
||||
|
||||
You must write an algorithm that runs in O(n) time.
|
||||
|
||||
|
||||
|
||||
Example 1:
|
||||
|
||||
Input: nums = [100,4,200,1,3,2]
|
||||
Output: 4
|
||||
Explanation: The longest consecutive elements sequence is [1, 2, 3,
|
||||
4]. Therefore its length is 4.
|
||||
|
||||
Example 2:
|
||||
|
||||
Input: nums = [0,3,7,2,5,8,4,6,0,1]
|
||||
Output: 9
|
||||
|
||||
Example 3:
|
||||
|
||||
Input: nums = [1,0,1,2]
|
||||
Output: 3
|
||||
|
||||
|
||||
|
||||
Constraints:
|
||||
|
||||
• 0 <= nums.length <= 10^5
|
||||
|
||||
• -10^9 <= nums[i] <= 10^9
|
||||
"""
|
||||
|
||||
|
||||
class Solution:
|
||||
def longestConsecutive(self, nums: list[int]) -> int:
|
||||
seen = set(nums)
|
||||
best = 0
|
||||
|
||||
for n in seen:
|
||||
if n - 1 in seen:
|
||||
continue
|
||||
|
||||
length = 1
|
||||
while length + n in seen:
|
||||
length += 1
|
||||
|
||||
best = max(length, best)
|
||||
|
||||
return best
|
||||
Reference in new issue
Block a user