在本文中,我们将学习以下问题陈述的解决方案。问题陈述 - 给定 n 个物品的权重和价值,我们需要将这些物品放入容量为 W 的背包中,直到最大容量 w。我们需要携带最大数量的物品并返回其价值。现在让我们观察以下实现中的解决方案 -# 暴力方法示例Live Demo# 返回背包可以存储的最大值def knapSack(W, wt, val, n): # 初始条件 if n == 0 or W == 0 : ... 阅读更多
lambda 表达式是 Java 中的匿名或未命名方法。它本身不执行,用于实现函数接口中声明的方法。如果我们想在 java 中将 lambda 表达式作为方法参数传递,则接收方法参数的类型必须是函数接口类型。示例interface Algebra { int operate(int a, int b); } enum Operation { ADD, SUB, MUL, DIV } public class LambdaMethodArgTest { public static void main(String[] args) { print((a, b) -> ... 阅读更多
假设我们有一年 Y。查找与 Y 相同的下一个日历年。因此,2017 年的日历与 2023 年相同。如果一年 X 满足这两个条件,则它与给定的前一年 Y 相同。x 以与年份相同的一天开始,如果 y 是闰年,则 x 也是,如果 y 是平年,则 x 也是平年。思路是从下一年开始逐年检查。我们将跟踪提前移动的天数。如果总共移动了 7 天,则当前年份以同一天开始。我们还... 阅读更多
假设我们有两个正整数 X 和 Y 的初始值。找到 X 和 Y 的最终值,以便进行如下更改 -步骤 1 - 如果 X = 0 且 Y = 0,则终止过程,否则转到步骤 2步骤 2 - 如果 X >= 2Y,则设置 X = X – 2Y,并转到步骤 1,否则转到步骤 3步骤 3 - 如果 Y >= 2X,则设置 Y = Y – 2X,并转到步骤 1,否则结束过程。数字 X 和 Y 将在 [0 和 1018] 范围内... 阅读更多
有时我们需要以排序顺序获取矩阵的所有元素。但是由于矩阵以行和列的形式存在,因此我们不会应用通常的排序算法来获取结果。相反,我们使用以下用户定义函数来获取排序的元素。示例Live Demodef heapq(a, k, i): greater = i l = 2 * i + 1 r = 2 * i + 2 if l < k and a[i] < a[l]: greater = l if r < k and a[greater] < a[r]: ... 阅读更多