天南之城的后花园

记录精彩的程序人生

文章

AC自动机

520. 检测大写字母 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如 "USA" 。 单词中所有字母都不是大写,比如 "leetcode" 。 如果单词不只含有一个字母,只有首字母大写, 比如 "Google" 。 给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。 示例 1: 输入: word = "USA" 输出: true 示例 2: 输入: word = "FlaG" 输出: false 思路 ac表示当前状态,state表示输入状态 由第一个字母大小写决定ac初状态 word[0]大写:ac初状态0 word[0]小写:ac初状态2 当ac初状态0时(即首字母大写):下一个字母可以大写,也可以小写 当ac初状态2时(即首字母小写):下一个字母只能小写 当ac状态为1时(即前n个字母均大写):下一个字母只能大写 当ac状态为2时(即当前字母小写):下一个字母只能小写 以上状态转移失败均跳转到ac=4,具体流程如图所示。 python实现: class Solution: def detectCapita....

原地标记/交换

原地标记/交换 一、原地标记 题干:题目限制空间复杂度 思路: step1:想出空间o(n)map方法 step2:以原数组下标做o(n)map方法的key,想办法在数据上做手脚 step3:再遍历时,检查数据是否被做了手脚 448. 找到所有数组中消失的数字 class Solution { public: vector<int> findDisappearedNumbers(vector<int>& nums) { vector<int> res; int size=nums.size(); for(auto num:nums){ int temp = (num - 1) % size; nums[temp] += size; } for(int i=0;i<size;i++){ if(nums[i]<=size){ res.push_back(i+1); } } return res; } }; 442. 数组中重复的数据 class Solution {....

原地翻转

189. 轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums = [1,2,3,4,5,6,7], k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步: [5,6,7,1,2,3,4] 示例 2: 输入: nums = [-1,-100,3,99], k = 2 输出: [3,99,-1,-100] 解释: 向右轮转 1 步: [99,-1,-100,3] 向右轮转 2 步: [3,99,-1,-100] 以矩阵的观点 \begin{matrix} C=[A,B] \\ C^T=[B^T,A^T]\\ 目标:[B,A]=[(B^T)^T,(A^T)^T] \end{matrix} 此题用R表示翻转 \begin{matrix} C=[A,B] \ \ \ C^R=[B^R,A^R]\\ 目标:[B,A]=[(B^R)^R,(A^R)^R] \end{matrix} 操作 结果 ....

前缀和:一维+二维

前缀和 特征 求「连续段」区域和 分类 一维前缀和 303 二维前缀和 304 通用公式 ans = sum[j] - sum[i - 1]。 例子 303. 区域和检索 - 数组不可变 给定一个整数数组 nums,处理以下类型的多个查询: 计算索引 left 和 right (包含 left 和 right)之间的 nums 元素的 和 ,其中 left <= right 实现 NumArray 类: NumArray(int[] nums) 使用数组 nums 初始化对象 int sumRange(int i, int j) 返回数组 nums 中索引 left 和 right 之间的元素的 总和 ,包含 left 和 right 两点(也就是 nums[left] + nums[left + 1] + ... + nums[right] ) 示例 1: 输入: ["NumArray", "sumRange", "sumRange", "sumRange"] [[[-2, 0, 3, -5, 2, -1]], [0, 2], [2, 5], [0, 5]] 输出:....

记录精彩的程序人生

© 2025 天南之城的后花园

Powered by Bolo
Theme bolo-sakura by Mashiro
浏览 50959 文章 43 评论 11
蜀ICP备2023008301号

主题 | Theme