223 次浏览
假设我们有一个列表,我们需要使用常数空间复杂度在 O(n logn) 时间内对其进行排序,因此,如果列表类似于 [4, 2, 1, 3],则它将变为 [1, 2, 3, 4]。为了解决这个问题,我们将遵循以下步骤 - 定义一个方法,用于按排序顺序合并两个列表,该方法为 merge(),它接受两个列表 l1 和 l2。排序列表方法的工作原理如下 - 如果头为空,或头的下一个节点为空,则返回头slow := head,fast := head,prev = null当 fast 不为空且 fast 的下一个节点不为空时 ... 阅读更多
783 次浏览
假设我们有一个链接列表,例如 l1 -> l2 -> l3 -> l4 -> … -> l(n-1) -> ln。我们需要将其重新排列成 l1 -> ln -> l2 -> l(n - 1) -> … 等等的形式。这里的约束条件是,我们不能修改列表节点中的值,只能更改节点本身。因此,例如,如果列表类似于 [1, 2, 3, 4, 5],则输出将为 [1, 5, 2, 4, 3]。为了解决这个问题,我们将遵循以下步骤 - 定义一个名为 reverse 的方法 ... 阅读更多
149 次浏览
假设我们有一棵二叉树;我们需要将其就地展平为链接列表。因此,如果树类似于 - 输出树将为 - 为了解决这个问题,我们将遵循以下步骤 - 设置 prev := null定义一个递归函数 solve(),它将根节点作为输入。如果根节点为空,则返回solve(根节点的右子树)solve(根节点的左子树)根节点的右子树 := prev,根节点的左子树 := nullprev := 根节点让我们看看下面的实现,以便更好地理解 - 示例 实时演示#include using namespace std; class TreeNode{ public: int val; TreeNode *left, *right; TreeNode(int data){ ... 阅读更多
641 次浏览
假设我们有一棵二叉树;我们需要找到之字形层序遍历。因此,对于第一行,从左到右扫描,然后从第二行从右到左扫描,然后再次从左到右扫描,依此类推。因此,如果树类似于 - 遍历顺序将为 [[3],[20,9],[15,7]]为了解决这个问题,我们将遵循以下步骤 - 如果树为空,则返回空列表queue := 创建一个队列并将根节点插入队列中,创建两个空列表 res 和 res2,并将 flag 设置为 True当 queue 不为空时创建一个列表 ... 阅读更多
1K+ 次浏览
从 Java 9 开始,可以将 readNBytes() 方法添加到 InputStream 类中。此方法将输入流中请求的字节数读取到给定的字节数组中。此方法会阻塞,直到读取了 len 个输入数据字节、检测到流的末尾或抛出异常。readNBytes() 方法不会关闭输入流。此方法对于避免大型文件出现内存问题很有用。语法public int readNBytes(byte[] b, int off, int len) throws IOException在下面的示例中,我们在源文件夹中创建了一个“Technology.txt”文件,其中包含简单数据:{“JAVA”,“PYTHON”,… 阅读更多
225 次浏览
模块是一个包的容器,每个模块都包含一个模块描述符,其中包含模块名称、模块依赖项,这意味着其他模块的名称取决于它,以及它导出的包的名称,这些包只能被依赖它的模块使用。module com.tutorialspoint.app { /** 模块 com.tutorialspoint.app 依赖的模块 */ requires com.tutorialspoint.services; /** 此模块公开的包,可供其他模块使用 */ exports com.tutorialspoint.app.util; }Java 9 模块提供了三种不同的编译模式:传统模式、单模块模式和多模块模式。模块的编译模式 ... 阅读更多
821 次浏览
在本文中,我们将了解如何创建一个包含字符串数据类型的列表列表。内部列表本身或字符串数据类型,它们可以包含数字或字符串作为其元素。使用 strip 和 split我们使用这两种方法,它们将首先分离出列表,然后将列表的每个元素转换为字符串。示例 实时演示list1 = [ '[0, 1, 2, 3]','["Mon", "Tue", "Wed", "Thu"]' ] print ("给定的列表为: " + str(list1)) print("") # 使用 strip() + split() result = [k.strip("[]").split(", ") for k in list1] print ("转换列表 ... 阅读更多
3K+ 次浏览
cmp() 是 python 标准库的一部分,它比较两个整数。如果第一个整数小于第二个整数,则比较结果为 -1;如果第一个整数大于第二个整数,则结果为 1。如果两者相等,则 cmp() 的结果为零。下面的示例说明了显示 cmp() 方法用法的不同场景。示例 实时演示def cmp(x, y): return (x > y) - (x < y) #x>y x = 5 y = 3 print("x>y 的 cmp 值为: ",cmp(x, y),“”) #xy is : 1 x
114 次浏览
在本文中,我们考虑一个字典,其中值以列表形式呈现。然后,我们考虑从列表中清除这些值。这里我们有两种方法。一种是使用 clear 方法,另一种是使用列表推导式为每个键指定空值。示例 实时演示x1 = {"Apple" : [4, 6, 9, 2],"Grape" : [7, 8, 2, 1],"Orange" : [3, 6, 2, 4]} x2 = {"mango" : [4, 6, 9, 2],"pineapple" : [7, 8, 2, 1],"cherry" : [3, 6, 2, 4]} print("给定的输入为: " + str(x1)) # 使用循环 + ... 阅读更多
156 次浏览
在本文中,我们将了解如何查找给定字符串中每个字符的频率。然后查看给定字符串中是否存在两个或多个字符具有相同的频率。我们将分两个步骤完成此操作。在第一个程序中,我们将只找出每个字符的频率。每个字符的频率在这里,我们找到给定输入屏幕中每个字符的频率。我们声明一个空字典,然后添加每个字符作为字符串。我们还为每个字符分配键,以创建键值对,这是字典所需的 ... 阅读更多