Sunny个人小记 - 我的生活·语文·课堂·技术手记

Sunny个人小记

力扣/洛谷学习笔记

459. 重复的子字符串

思路一:最直观的“切积木法”(暴力枚举) 如果你手里有一根长为n的积木,想看它是不是由几个一模一样的小积木连成的,你会怎么做? 小积木的长度一定能整除总长度: 假设总长度是 6,那最小单位的长度只可能是 1、2、3。 长度不可能是 4 或 5,因为 6 没办法被 4 拼满(4+4=8,溢出了)。 小

242. 有效的字母异位词

class Solution: def isAnagram(self, s: str, t: str) -> bool: if len(s) != len(t): return False counts = [0] * 26

28. 找出字符串中第一个匹配项的下标

暴力双重循环 class Solution: def strStr(self, haystack: str, needle: str) -> int: """ 在 haystack 中寻找 needle 第一次出现的位置,找不到返回 -1。 题

389. 找不同

方法一:异或运算 什么是“异或”? 在Python中,a ^ b表示把a和b进行异或运算。 任何数与自己异或,结果都是0。 任何数与 0 异或,结果还是它自己。 运算顺序不影响结果(交换律)。</

1768. 交替合并字符串

解题思路 双指针+扫尾 核心逻辑:像“排队接力”游戏一样,队A(word1)和队B(word2)各派一个人,交替排进新队伍res。 终止条件:当其中任意一队的人取光时,交替停止。 扫尾处理:较长的队伍剩下的字符,直接打包放在新队伍的末尾。 带详细注释的完整代码 class Solution: