50
results
for 困难
字典
wordList
中从单词beginWord
和endWord
的转换序列是一个按下述规格形成的序列\(beginWord \to s_1 \to s_2 \to \dots \to s_k\):
- 每一对相邻的单词只差一个字母。
- 对于
1 <= i <= k
时,每个 \(s_i\) 都在wordList
中。注意,beginWord
不需要在wordList
中。 - \(s_k == endWord\)
给你两个单词
beginWord
和endWord
和一个字典wordList
,返回从beginWord
到endWord
的最短转换序列中的单词数目。如果不存在这样的转换序列,返回0
。Alice 和 Bob 共有一个无向图,其中包含 n 个节点和 3 种类型的边:
- 类型 1:只能由 Alice 遍历。
- 类型 2:只能由 Bob 遍历。
- 类型 3:Alice 和 Bob 都可以遍历。
给你一个数组
edges
,其中\(edges[i] = [type_i, u_i, v_i]\) 表示节点\(u_i\)和 \( v_i\) 之间存在类型为 \(type_i\) 的双向边。请你在保证图仍能够被 Alice 和 Bob 完全遍历的前提下,找出可以删除的最大边数。如果从任何节点开始,Alice 和 Bob 都可以到达所有其他节点,则认为图是可以完全遍历的。返回可以删除的最大边数,如果 Alice 和 Bob 无法完全遍历图,则返回 -1 。
给你一个未排序的整数数组
nums
,请你找出其中没有出现的最小的正整数。Range 模块是跟踪数字范围的模块。设计一个数据结构来跟踪表示为 半开区间的范围并查询它们。
半开区间
[left, right)
表示所有left <= x < right
的实数x
。实现
RangeModule
类:RangeModule()
初始化数据结构的对象。void addRange(int left, int right)
添加 半开区间[left, right)
,跟踪该区间中的每个实数。添加与当前跟踪的数字部分重叠的区间时,应当添加在区间[left, right)
中尚未跟踪的任何数字到该区间中。boolean queryRange(int left, int right)
只有在当前正在跟踪区间[left, right)
中的每一个实数时,才返回true
,否则返回false
。void removeRange(int left, int right)
停止跟踪 半开区间[left, right)
中当前正在跟踪的每个实数。