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