上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 32 下一页
摘要: 简化unix文件路径 ####1. 分割提取+栈 class Solution { public: string simplifyPath(string path) { vector<string> names = split(path, '/');//消除/并得到待处理的多段文件名 vector< 阅读全文
posted @ 2023-05-04 22:11 失控D大白兔 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 给你一个字符串 s,请你将s分割成一些子串,使每个子串都是回文串,返回 s 所有可能的分割方案 ###1. 回溯+动态规划 class Solution { public: vector<vector<int>> dp; vector<vector<string>> res; vector<stri 阅读全文
posted @ 2023-05-04 21:18 失控D大白兔 阅读(8) 评论(0) 推荐(0) 编辑
摘要: x坐标轴上分配了水果的位置(升序)和个数 给你一个开始位置和步数,可以选择往左或往右,返回可以摘到的最大水果数 ###1. 二分查找+前缀和+滑动窗口 枚举先左后右和先右后左两种情况下的左右边界,利用二分和前缀和快速求值 class Solution { public: int maxTotalFr 阅读全文
posted @ 2023-05-04 01:07 失控D大白兔 阅读(19) 评论(0) 推荐(0) 编辑
摘要: ###1. 移动石子直到连续(三个石子) class Solution { public: vector<int> numMovesStones(int a, int b, int c) { int x = min({a, b, c}); int z = max({a, b, c}); int y 阅读全文
posted @ 2023-05-01 05:25 失控D大白兔 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 如果一个字符串满足以下条件,则称其为 美丽字符串 : * 它由英语小写字母表的前 k 个字母组成。 * 它不包含任何长度为 2 或更长的回文子字符串。 返回下一个美丽字符串 ###1. 贪心更改 从后往前试探增加,满足条件继续往后走,同时判断是否满足回文 ``` class Solution { p 阅读全文
posted @ 2023-05-01 04:22 失控D大白兔 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 给你初始位置和目标位置,以及一些位置之间的快速路径,普通点之间的代价为曼哈顿距离 求初始位置到目标位置最小代价 两个算法都直接使用了sp路径序列当做点,边(代价计算)定义为前一路径第二坐标到后一路径第一坐标 ###1. Floyd算法 class Solution { public: const i 阅读全文
posted @ 2023-05-01 04:02 失控D大白兔 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 一. 概述 树状数组是一种支持数组的单点修改,以及求前缀和(区间求和)的一种简单数据结构,作为线段树的下位替代 简单来说,树状数组就是利用lowbit(二进制化最后一位表示的值)的性质,把n个节点串起来,隐式地构造一棵树 每个节点x的父亲是x+lowbit(x),当前x节点左边最大的节点是x-low 阅读全文
posted @ 2023-05-01 03:02 失控D大白兔 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 给你一个包含若干互不相同整数的数组nums,你需要执行以下操作直到数组为空 : 如果数组中第一个元素是当前数组中的最小值则删除它 否则,将第一个元素移动到数组的末尾 请你返回需要多少个操作使nums为空 ###一. 数学思维减小问题规模 除去删除元素的操作外,考虑每个数需要移动的次数 假设数组按升序 阅读全文
posted @ 2023-04-30 14:33 失控D大白兔 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 给你一个整数数组 nums 以及两个整数 lower 和 upper 求数组中,值位于范围 [lower, upper] (包含 lower 和 upper)之内的 区间和的个数 ###一. 前缀和+双重循环(超时) class Solution { public: int countRangeSu 阅读全文
posted @ 2023-04-25 22:36 失控D大白兔 阅读(26) 评论(0) 推荐(0) 编辑
摘要: ###一. 数组 添加线性,访问常数 class MedianFinder { public: MedianFinder() { n = 0; } void addNum(int num) { n++; nums.push_back(num); int index = n - 1; for(int 阅读全文
posted @ 2023-04-24 19:52 失控D大白兔 阅读(8) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 32 下一页