![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode-字符串
Leetcode-字符串
勤勤恳恳耕地种树
HELLO_WORLD!小白不太白的世界~
展开
-
python leetcode 205 同构字符串【简单题】
一 读懂题目二.分析,推导解法,产生思路。解题思路:双射;两张哈希表三 代码实现 def isIsomorphic1(self, s, t): ''' 双射;两张哈希表 ''' dic_s = {} dic_t = {} i = 0 while i < len(s): if s[i] not in dic_s and t[i] not i.原创 2021-09-12 22:54:04 · 186 阅读 · 0 评论 -
python leetcode 168 excel 表列名称 【简单题】
一 读懂题目二.分析,推导解法,产生思路。解题思路:进制转换三 代码实现 def convertToTitle(self, columnNumber): """ :type columnNumber: int :rtype: str """ res = '' while columnNumber > 0 : num = int(columnNumb.原创 2021-09-12 22:05:34 · 111 阅读 · 0 评论 -
python leetcode 704 二分查找 【简单题】
二分查找最常用场景:(1) 寻找一个数(2) 寻找左侧边界(3) 寻找右侧边界注意点:(1) l与r的初始值(2) while里的判断语句是否有等号(3) target与mid大小比较后, l与r的赋值明确搜索区间是最重要的'''class Solution(object): # (1) 二分查找 # 搜索区间: [left,right] 搜索区间两端闭合 def search(self, nums, target): """ .原创 2021-09-02 17:19:53 · 178 阅读 · 0 评论 -
python leetcode 209 长度最小的子数组【中等题】
一 读懂题目二.分析,推导解法,产生思路。解题思路:1. 滑动窗口:当右指针找到满足条件的连续子数组后,才开始移动左指针,直到未出现满足条件的连续子数组,再移动右指针。时间复杂度:O(n)。左右指针最多各移动 n次。空间复杂度:O(1)。2. 前缀和+二分查找前求数组的前缀和;再遍历数组,用二分查找,寻找i的最小连续子数组。三 代码实现1 滑动窗口 def minSubArrayLen2(self, target, nums): ...原创 2021-09-02 16:10:44 · 108 阅读 · 0 评论 -
python leetcode 567 字符串的排列【中等题】
一 读懂题目二.分析,推导解法,产生思路。解题思路:转化:排列 => 两个字符串中每个字符出现的次数均相等; => 关注字符种数与次数s1的长度即为滑动窗口大小。暴力解法:遍历s2,维持一个固定大小滑动窗口,比较s2窗口子串与s1字符串对应字符及次数是否相同。优化方法:注意短子串存在目标子串,则长子串(在短子串前后加字符形成的长子串)也包含目标子串。三 代码实现注意:winCount 的含义:滑动窗口中的字符要满足字符出现的次数 大于等于 s1 中对应.原创 2021-09-01 21:52:48 · 254 阅读 · 0 评论 -
python leetcode 3 无重复字符的最长子串【中等题】
一 读懂题目二.分析,推导解法,产生思路。解题思路1:注意重复字符的位置对子串计算的影响解题思路2:滑动窗口,维护目标区间三 代码实现 def lengthOfLongestSubstring_b(self, s): ''' 解题思路:查找子串的过程中,若未遇到之前出现过的字符,则计算子串长度(即当前点与最近未重复的字符(start;子串计数起始位置)之差) 如果遇到前面出现过的字符,则修改子串计数起始位置,重复字符覆盖..原创 2021-09-01 15:37:18 · 107 阅读 · 0 评论