找到 34423 篇文章 关于编程

Python 中二叉搜索树的第 K 小元素

Arnab Chakraborty
更新于 2020 年 5 月 4 日 09:03:32

962 次浏览

假设我们有一个二叉搜索树。我们需要找到该 BST 中的第 K 个最小元素。因此,如果树如下所示:如果我们想要找到第 3 个最小元素,则 k = 3,结果将为 7。为了解决这个问题,我们将遵循以下步骤:创建一个名为 nodes 的空列表调用 solve(root, nodes)返回 nodes 的第 k-1 个元素创建 solve 方法,它接受根节点和 nodes 数组作为参数,其工作原理如下:如果根节点为空,则返回solve(根节点的左子树, nodes)将根节点的值添加到 nodes 数组中solve(根节点的右子树, nodes)让我们看看以下... 阅读更多

C++ 中完全二叉树的节点计数

Arnab Chakraborty
更新于 2020 年 5 月 4 日 09:02:45

839 次浏览

假设我们有一个完全二叉树,我们需要计算节点的数量。因此,如果树如下所示:因此,输出将为 6。为了解决这个问题,我们将遵循以下步骤:这将使用递归方法。此方法 countNodes() 以根节点作为参数。hr := 0 和 hl := 0创建两个节点 l 和 r 作为根节点当 l 不为空时hl 增加 1l := l 的左子节点当 r 不为空时r := r 的右子节点hr 增加 1如果 hl = hr,则返回 (2 ^ hl) – 1返回 1 + countNodes(根节点的左子树) + countNodes(根节点的右子树)... 阅读更多

C++ 中的组合总和 IIII

Arnab Chakraborty
更新于 2020 年 5 月 4 日 09:01:23

108 次浏览

假设我们需要生成 k 个数字的所有可能的组合,这些数字加起来等于数字 n,给定只能使用 1 到 9 的数字。每个组合都应该是一组唯一的数字。所有数字都应该是正数,并且解决方案不得包含重复的组合。因此,如果 k = 3 且 n = 9,则可能的组合为 [[1, 2, 6], [1, 3, 5], [2, 3, 4]]为了解决这个问题,我们将遵循以下步骤:假设我们将使用称为 solve 的方法来解决此问题。这将是递归方法,它将采用... 阅读更多

Python 中数组中的第 K 大元素

Arnab Chakraborty
更新于 2020 年 5 月 4 日 09:00:26

2K+ 次浏览

假设我们有一个未排序的数组,我们需要从中找到第 k 个最大的元素。因此,如果数组为 [3, 2, 1, 5, 6, 4] 且 k = 2,则结果将为 5。为了解决这个问题,我们将遵循以下步骤:我们将对元素进行排序,如果 k 为 1,则返回最后一个元素,否则返回 array[n – k],其中 n 为数组的大小。让我们看看下面的实现以更好地理解:示例实时演示类解决方案(对象):    def findKthLargest(self, nums, k):       nums.sort()       if k ==1:   ... 阅读更多

C++ 中的抢劫犯 II

Arnab Chakraborty
更新于 2020 年 5 月 4 日 08:59:30

714 次浏览

假设,你是一个职业强盗。你计划抢劫一条街上的房屋。每个房子都存有一定数量的钱。所有房屋都排列成一个圆圈。这意味着第一所房子是最后一所房子的邻居。我们必须记住,相邻的房屋连接了安全系统,如果在同一晚上闯入两所相邻的房屋,它将自动联系警方。因此,如果我们有一系列整数表示每个房子的钱数,请确定你可以抢劫的最大金额... 阅读更多

Python 中实现 Trie(前缀树)

Arnab Chakraborty
更新于 2020 年 5 月 4 日 08:58:35

5K+ 次浏览

假设我们需要创建 Trie 结构,并使用三个基本操作,如 insert()、search()、startsWith() 方法。我们可以假设所有输入都为小写字母。例如,如果我们如下调用函数,我们将看到输出Trie trie = new Trie()trie.insert(“apple”)trie.search(“apple”)     //这将返回 truetrie.search(“app”)        //这将返回 falsetrie.startsWith(“app”)   //这将返回 truetrie.insert(“app”)trie.search(“app”)        //这将返回 true为了解决这个问题,我们将遵循以下步骤:最初创建一个名为 child 的字典。insert 方法将如下所示:current := child对于单词中的每个字母 l:如果 l 不存在于... 阅读更多

Python 中的岛屿数量

Arnab Chakraborty
更新于 2020 年 5 月 4 日 08:57:19

2K+ 次浏览

假设我们有一个网格,其中有一些 0 和一些 1。我们需要计算岛屿的数量。岛屿是指被水包围并通过水平或垂直连接相邻陆地形成的地方。我们可以假设网格的所有四个边缘都被水包围。假设网格如下所示:11000110000010000011有三个岛屿。为了解决这个问题,我们将遵循以下步骤:将有两个方法,一个用于计算岛屿数量,称为 numIslands() 和 makeWater()。makeWater() 将如下所示:如果网格的行数为... 阅读更多

C++ 中二叉树的右侧视图

Arnab Chakraborty
更新于 2020 年 5 月 4 日 08:56:19

151 次浏览

假设我们有一棵二叉树,如果我们从右侧查看这棵树,那么我们可以看到它的一些元素。我们需要显示这些元素。因此,如果树如下所示:为了解决这个问题,我们将遵循以下步骤:我们将为 dfs 创建一个辅助方法。这将采用 tree_node、一个用于保存答案的数组和 level。level 最初为 0。dfs 将如下工作:如果节点为空,则返回如果 level 等于答案数组的长度,则将节点的值插入 ans 数组中dfs(节点的右子节点, ans, level + ... 阅读更多

C++ 中二叉搜索树迭代器

Arnab Chakraborty
更新于 2020 年 5 月 4 日 08:55:04

2K+ 次浏览

假设我们想为二叉树创建一个迭代器。将有两个方法。next() 方法返回下一个元素,hasNext() 方法返回布尔值,指示下一个元素是否存在。因此,如果树如下所示:并且函数调用的序列为 [next(), next(), hasNext(), next(), hasNext(), next(), hasNext(), next(), hasNext()]。输出将为 [3, 7, true, 9, true, 15, true, 20, false]为了解决这个问题,我们将遵循以下步骤:有两个方法 next 和 hasNext,next() 方法将如下所示:curr := 栈顶... 阅读更多

C++ 中计算 1 到 n 中包含数字 4 的数字

Ayush Gupta
更新于 2020 年 2 月 5 日 07:57:50

355 次浏览

在本教程中,我们将讨论一个程序,用于查找 1 到 n 中包含数字 4 的数字。为此,我们将提供一个数字 n。我们的任务是计算所有包含 4 作为其数字之一的数字并将其打印出来。示例实时演示#include using namespace std; bool has4(int x); //返回给定数字中数字的总和 int get_4(int n){    int result = 0;    //计算每个数字的总和    for (int x=1; x

广告

© . All rights reserved.