摘要: ###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大白兔 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 如果一个字符串满足以下条件,则称其为 美丽字符串 : * 它由英语小写字母表的前 k 个字母组成。 * 它不包含任何长度为 2 或更长的回文子字符串。 返回下一个美丽字符串 ###1. 贪心更改 从后往前试探增加,满足条件继续往后走,同时判断是否满足回文 ``` class Solution { p 阅读全文
posted @ 2023-05-01 04:22 失控D大白兔 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 给你初始位置和目标位置,以及一些位置之间的快速路径,普通点之间的代价为曼哈顿距离 求初始位置到目标位置最小代价 两个算法都直接使用了sp路径序列当做点,边(代价计算)定义为前一路径第二坐标到后一路径第一坐标 ###1. Floyd算法 class Solution { public: const i 阅读全文
posted @ 2023-05-01 04:02 失控D大白兔 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 一. 概述 树状数组是一种支持数组的单点修改,以及求前缀和(区间求和)的一种简单数据结构,作为线段树的下位替代 简单来说,树状数组就是利用lowbit(二进制化最后一位表示的值)的性质,把n个节点串起来,隐式地构造一棵树 每个节点x的父亲是x+lowbit(x),当前x节点左边最大的节点是x-low 阅读全文
posted @ 2023-05-01 03:02 失控D大白兔 阅读(17) 评论(0) 推荐(0) 编辑