1. 无重复字符的最长子串
题目链接:https://leetcode.cn/problems/longest-substring-without-repeating-characters/
给定一个字符串 s ,请找出其中不含有重复字符的 最长 子串 的长度。
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
char_dict = {}
max_length = 0
start = 0
for i, char in enumerate(s):
if char in char_dict and char_dict[char] >= start:
start = char_dict[char] + 1
char_dict[char] = i
max_length = max(max_length, i - start + 1)
return max_length
2. 寻找两个正序数组的中位数
题目链接:https://leetcode.cn/problems/median-of-two-sorted-arrays/
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请找出并返回这两个正序数组的 中位数 。
算法的时间复杂度应该为 O(log (m+n)) 。
class Solution:
def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
merged = sorted(nums1 + nums2)
n = len(merged)
if n % 2 == 1:
return merged[n // 2]
else:
return (merged[n // 2 - 1] + merged[n // 2]) / 2
标签:max,Study,length,char,start,Part2,dict,Algorithms,merged
From: https://www.cnblogs.com/stephenxiong001/p/18361937