找到关于编程的34423 篇文章

在C++中删除二叉搜索树中的节点

Arnab Chakraborty
更新于 2020年4月30日 10:05:03

4K+ 次浏览

假设我们有一个二叉搜索树。我们将取一个键k,我们必须从BST中删除给定的键k,并返回更新后的BST。因此,如果树是这样的:-而键k = 3,则输出树将是:-为了解决这个问题,我们将遵循以下步骤:-定义一个名为deleteRoot()的方法来删除根节点,这将按如下方式工作:如果根节点为空,则返回null;如果根节点没有右子树,则返回根节点的左子树;x := 根节点的中序后继;设置x的左子树为:= 根节点的左子树;… 阅读更多

C++中的不相交区间

Arnab Chakraborty
更新于 2020年4月30日 09:58:31

511 次浏览

假设我们有一组区间;我们必须找到我们需要删除的最小区间数,以使其余区间不相交。因此,如果区间是[[1, 2], [2, 3], [3, 4], [1, 3]],则输出将是1,因为我们必须删除[1, 3]才能使所有其他区间不相交。为了解决这个问题,我们将遵循以下步骤:-n := 数组的大小;如果n为0,则返回0;count := 1;根据区间的结束时间对数组进行排序;end := 第一个区间的结束日期;对于i in range … 阅读更多

C++中的N元树层序遍历

Arnab Chakraborty
更新于 2020年4月30日 09:56:58

372 次浏览

假设我们有一个N元树,我们必须返回其节点值的层序遍历。N元树输入序列化以其层序遍历表示。这里每个子节点组都由null值分隔(参见示例)。因此,下面的树可以表示为[1, null, 3, 2, 4, null, 5, 6]输出将是[[1], [3, 2, 4], [5, 6]]为了解决这个问题,我们将遵循以下步骤:-创建一个矩阵ans;如果根节点为空,则返回ans;创建一个队列q并插入根节点;当q不为空时;size := 队列的大小;创建一个数组… 阅读更多

C++中的棋盘战舰

Arnab Chakraborty
更新于 2020年4月30日 09:55:40

719 次浏览

假设我们有一个二维棋盘,我们必须计算其中有多少艘战舰。战舰用符号'X'表示,空位用'.'表示。我们可以假设这些规则:-您将收到一个有效的棋盘,仅由战舰或空位组成。战舰只能水平或垂直放置。换句话说,它们只能由形状1xN(1行,N列)或Nx1(N行,1列)组成,其中N可以是任何大小。至少有一个水平或垂直单元格将两艘战舰隔开 - 没有相邻的战舰。因此,如果… 阅读更多

Python中的数组洗牌

Arnab Chakraborty
更新于 2020年4月30日 09:50:15

1K+ 次浏览

假设我们有一个数组A,我们必须对一组没有重复的数字进行洗牌。因此,如果输入类似于[1, 2, 3],则对于洗牌,它将是[1, 3, 2],重置后,如果我们再次洗牌,它将是[2, 3, 1]为了解决这个问题,我们将遵循以下步骤:-将有不同的方法。这些是init()、reset()、shuffle()。这些将像下面这样工作:-init将是这样的:-original := 给定数组的副本;temp := nums;indices := 从0到nums长度减1的数字列表;reset()将返回original… 阅读更多

C++中的摆动排序 II

Arnab Chakraborty
更新于 2020年4月30日 09:46:02

444 次浏览

假设我们有一个未排序的数组nums,我们必须重新排列它,使得nums[0] < nums[1] > nums[2] < nums[3]。因此,如果输入类似于[1, 5, 1, 1, 6, 4],则输出将是[1, 4, 1, 5, 1, 6]。为了解决这个问题,我们将遵循以下步骤:-创建一个数组x,它与nums具有相同的元素;对x数组进行排序;i := x的大小 - 1,j := (x的大小 - 1) / 2,n := nums数组的大小;对于l in range 0到n - 1,每一步增加l为2;nums[l]… 阅读更多

Python中的基本计算器 II

Arnab Chakraborty
更新于 2020年3月4日 06:20:53

686 次浏览

假设我们必须实现一个基本计算器来评估一个简单的表达式字符串。表达式字符串将仅包含非负整数、一些运算符,如+、-、*、/和空格。整数除法应仅取商部分。因此,如果输入类似于“3+2*2”,则输出将为7。为了解决这个问题,我们将遵循以下步骤:-定义一个堆栈s,i := 0,x := 一个空字符串;对于s中的每个字符j;如果j不是空格字符;将j附加到x中;s := x,n := x的长度;当i < n时;如果s[i]是’/’,则增加… 阅读更多

C++中的最大正方形

Arnab Chakraborty
更新于 2020年4月30日 09:40:51

313 次浏览

假设我们有一个用0和1填充的二维二进制矩阵。我们必须找到仅包含1的最大正方形并返回其面积。因此,如果矩阵是这样的:-10100101101111110010则输出将是4为了解决这个问题,我们将遵循以下步骤:-ans := 0,n := 行数,c := 列数;如果n为0,则返回0;创建一个大小为(n x c)的另一个矩阵;对于i in range 0到n - 1;对于j in range 0到c - 1;m[i, j] := matrix[i, j];ans := m[i, j]和ans的最大值;对于j in… 阅读更多

C++中的最小大小子数组和

Arnab Chakraborty
更新于 2020年4月30日 09:38:26

1K+ 次浏览

假设我们有一个包含n个元素的数组和一个正整数s。我们必须找到一个连续子数组的最小长度,其和大于或等于s。如果没有,则返回0。因此,如果数组类似于[2, 3, 1, 2, 3, 4]并且sum为7,则输出将为2。对于这种情况,子数组[4, 3]具有最小长度。为了解决这个问题,我们将遵循以下步骤:-ans := 0,n := 数组A的大小,j := 0,sum := 0;对于… 阅读更多

C++中的分数到循环小数

Arnab Chakraborty
更新于 2020年4月30日 09:36:18

919 次浏览

假设我们有两个整数表示分数的分子和分母,我们必须找到字符串格式的分数。如果小数部分是重复的,则将重复部分括在括号中。因此,如果分子是2,分母是3,则输出将是“0.(6)”为了解决这个问题,我们将遵循以下步骤:-如果分子为0,则返回0;定义一个数组ans;如果分子< 0且分母> 0或分子为0且分母< 0,则将负号“-”插入ans数组中;divisor := |分子|,dividend := |分母|,remainder := divisor mod… 阅读更多

广告
© . All rights reserved.