Python 中最长的有效括号
假设我们有一个字符串,带有左括号和右括号。我们必须找到有效(格式正确)括号的最长长度。因此,如果输入类似于"))(())())",则结果将为6,因为有效字符串是"(())()"。要解决这个问题,我们将遵循以下步骤−创建一个堆栈,并插入-1。,设置ans:=0foriinrange0tolengthofstack–1如果s[i]是左括号,则
在 Python 中合并 k 个排序列表
假设我们有一些列表,这些列表是排序的。我们必须将这些列表合并为一个列表。为了解决这个问题,我们将使用堆数据结构。因此,如果列表为[1,4,5]、[1,3,4]、[2,6],则最终列表将为[1,1,2,3,4,4,5,6]。为了解决这个问题,我们将遵循以下步骤−创建一个堆对于列表中的每个链接列表l−如果in不为0,则将I插入堆中res:=null和
用 Python 买入和卖出股票 III 的最佳时机
假设我们有一个数组,其中第i个元素代表第i天某只股票的价格。我们必须设计一种算法来找到最大利润。我们最多可以完成两笔交易。因此,如果给定的价格为[3,3,5,0,1,3,1,4],则结果将为6,因为我们将在第4天(价格0)买入,然后在第6天(价格3)卖出,因此利润为3–0=3。现在在第7天(价格1)卖出,在第8天(价格4)卖出,因此利润为
C++ 程序实现 AVL 树
AVL树是一种自平衡二叉搜索树,其中所有节点的左子树和右子树的高度差不能超过1。树旋转是一种改变结构而不干扰AVL树上元素顺序的操作。它在树中将一个节点向上移动,将一个节点向下移动。它用于改变树的形状,并通过将较小的子树向下移动和将较大的子树向上移动来降低其高度,从而提高许多树操作的性能。旋转的方向取决于树节点移动到哪一侧,而另一些人则认为它取决于哪个子节点占据了根的位置。这是一个实现A
Difftime() C 库函数
这里我们将了解C中的difftime()函数是什么。difftime()用于获取两个时间值之间的差异。difftime()接受两个时间参数,第一个是下限,第二个是上限。它返回这两个参数之间的差异。示例#include<time.h>#include<stdio.h>#include<unistd.h>main(){intsec;time
C++ 中的字符串数组
在C++中可以使用string关键字创建字符串数组。这里我们讨论使用此方法的C++程序。算法开始使用string关键字初始化数组元素。并将字符串作为输入。打印数组。结束。示例代码#include<iostream>#include<bits/stdc++.h>usingnamespacestd;intmain(){string
C++ 程序比较二分搜索和顺序搜索
二分搜索和顺序或线性搜索都用于计算机编程中搜索元素。二分搜索的时间复杂度为O(log(n)),顺序搜索为O(n)。算法开始二分搜索算法:BinarySearch()函数,‘arr’为数据数组,‘n’为值的数量、起始和终止索引、迭代次数以及参数列表中要搜索的元素。增加迭代计数器并将项目值与a[mid]进行比较。如果项目<
C++ 中的默认参数和虚函数
让我们考虑一个C++中的示例程序,以便于理解的概念−示例代码#include<iostream>usingnamespacestd;classB{public:virtualvoids(inta=0){cout<<"InBase\n";}};classD:publicB{pu
C++ 程序为后缀表达式构建表达式树
表达式树基本上是用于表示表达式的二叉树。在表达式树中,节点对应于运算符,每个叶节点对应于操作数。这是一个C++程序,用于在中序、前序和后序遍历中为后缀表达式构建表达式树。算法开始函数r()有一个字符变量作为参数。如果字符为+或-或*或/则返回将为-1如果字符从A到Z则返回值为1。如果字符从a到z,则返回值为1。
C++ 程序用于查找二叉树中最深的左叶
二叉树最多有两个子节点,分别指定为左子节点和右子节点。这是一个C++程序用于查找二叉树中最深的左叶算法开始。functiondeepestLLeafutil()查找给定二叉树中最深的左叶:lvel是当前节点的级别。maxlvel是指向迄今为止找到的最深左叶节点的指针isLeft表示此节点是其父节点的左子节点resPtr是指向结果的指针如果root