738 次浏览
假设我们有 d 个骰子,每个骰子有 f 个面,分别标记为 1、2、...、f。我们需要找到所有可能的投掷方式(在 fd 种总方式中)模 10^9 + 7,使得这些向上面的数字之和等于目标值。例如,如果输入为 d = 2,f = 6,target = 7,则输出将为 6。因此,如果我们掷每个骰子 6 面,则有 6 种方法得到总和 6,如 1 + 6、2 + 5、3 + ... 阅读更多
261 次浏览
假设我们有一个二进制数组 data,我们需要找到将数组中存储的所有 1 分组到数组中的任何位置所需的最小交换次数。例如,如果数组为 [1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1],则输出将为 3,因为可能的解决方案是 [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1]为了解决这个问题,我们将遵循以下步骤:设置 one := 0,n:= data 数组的长度创建一个大小为 n 的数组 summ,并用 0 填充它,设置 summ[0] := ... 阅读更多
174 次浏览
String 是 Java 中的一个不可变类,在 Java 9 中向 String 类添加了两个新方法。这些方法是 chars() 和 codePoints()。这两个方法都返回 IntStream 对象。1) chars():String 类的 chars() 方法可以返回一个 int 流,该流扩展了此序列中 char 值的零。语法public IntStream chars()示例import java.util.stream.IntStream; public class StringCharsMethodTest { public static void main(String args[]) { String str = "Welcome to TutorialsPoint"; IntStream intStream = str.chars(); ... 阅读更多
519 次浏览
假设我们需要实现一个 SnapshotArray,它支持以下接口:SnapshotArray(int length) 这将使用给定的长度初始化类似数组的数据结构。最初,每个元素都等于 0。set(index, val) 这将设置给定索引处的元素等于 val。snap() 将拍摄数组的快照并返回 snap_id:我们调用 snap() 的总次数减 1。get(index, snap_id) 这将返回给定索引处的值,在我们使用给定的 snap_id 拍摄快照时。因此,如果数组大小为 2,则使用 [0, 5] 设置,之后... 阅读更多
363 次浏览
假设有两个玩家在一个二叉树上玩轮流游戏。我们有这棵二叉树的根和树中节点的数量 n。这里 n 是奇数,每个节点都有一个从 1 到 n 的不同值。首先,第一个玩家命名一个值为 x,其中 1
330 次浏览
假设我们有一个整数数组 nums,一个移动操作实际上是选择任何元素并将其减少 1。如果满足 1 或 2,则数组 A 是一个锯齿形数组:每个偶数索引元素都大于相邻元素,因此。A[0] > A[1] < A[2] > A[3] < A[4] > ... 等等。每个奇数索引元素都大于相邻元素,因此。A[0] < A[1] > A[2] < A[3] > A[4] < ... 等等。我们需要找到将给定数组 nums 转换为锯齿形数组所需的最小移动次数。因此,如果... 阅读更多
337 次浏览
假设有 N 个城市,编号从 1 到 N。我们有连接,其中每个连接 [i] 是 [city1, city2, cost],这表示连接 city1 和 city2 的成本。我们需要找到最小的成本,以便对于每一对城市,都存在一条连接路径(可能长度为 1)将这两个城市连接在一起。成本是所用连接成本的总和。如果任务不可能完成,则返回 -1。因此,如果图如下:然后输出将是 6,选择任意两个城市将连接所有城市,因此我们选择... 阅读更多
578 次浏览
假设我们有一个有向图,节点标记为 0、1、...、n-1。在这个图中,每条边都用红色或蓝色着色,并且可能存在自环或平行边。red_edges 中的每个 [i, j] 表示从节点 i 到节点 j 的红色有向边。类似地,blue_edges 中的每个 [i, j] 表示从节点 i 到节点 j 的蓝色有向边。我们需要找到一个长度为 n 的数组 answer,其中每个 answer[X] 是从节点 0 到节点 X 的最短路径的长度,使得边的颜色沿着... 阅读更多
120 次浏览
假设我们有一棵有根二叉树,我们需要返回其最深叶子的最低共同祖先。我们需要记住:二叉树的节点只有在没有子节点时才是叶节点树的根的深度为 0,当节点的深度为 d 时,其每个子节点的深度为 d+1。一组节点 S 在节点 A 中的最低共同祖先具有最大的深度,使得 S 中的每个节点都在根为... 阅读更多
138 次浏览
假设我们有二叉树的根;我们需要找到该树的任何子树的最大平均值。因此,如果树如下:输出将是 6,这是因为,对于节点 5,它将是 (5 + 6 + 1)/ 3 = 4,然后对于节点 6,它将是 6 / 1 = 6,对于节点 1,它将是 1 / 1 = 1,因此最大值为 6。为了解决这个问题,我们将遵循以下步骤:res := 0定义一个名为 solve() 的方法,它将接收 root如果 root 为... 阅读更多