找到 34423 篇文章 关于编程

在 C++ 中检查给定矩阵是否为汉克尔矩阵

Arnab Chakraborty
更新于 2019年10月22日 11:05:49

144 次查看

假设我们有一个方阵,我们的任务是检查该矩阵是否为汉克尔矩阵。汉克尔矩阵是一个方阵,其中从左到右的每个上升斜对角线元素都是常数。假设一个矩阵如下所示:-1234523456345674567856789要检查矩阵是否为汉克尔矩阵,我们必须检查mat[i, j]是否等于ai+j。ai+j可以定义为:$$a_{i+j}=\begin{cases}mat[i+j, 0]< n\mat[i+j-n+1, n-1]otherwise\end{cases}$$示例 实时演示#include #define N 5 using namespace std; bool isHankelMat(int mat[N][N], int n) {    for (int i = 0; i < n; i++) {   ... 阅读更多

在 C++ 中检查给定数组是否可以表示二叉搜索树的前序遍历

Arnab Chakraborty
更新于 2019年10月22日 11:01:12

469 次查看

假设我们在数组中有一系列元素,我们必须检查这些元素是否可以是二叉搜索树的前序遍历。假设一个序列类似于{40, 30, 35, 80, 100},那么树将类似于:-我们可以使用堆栈来解决这个问题。我们必须遵循以下步骤来解决此问题。定义空堆栈将根设置为负无穷大对于前序序列中的每个元素,执行以下操作:-如果元素小于当前根,则返回false继续从堆栈中删除元素,直到元素大于堆栈顶,并将... 阅读更多

在 C++ 中检查字符串中某个单元格是否可以被访问多次

Arnab Chakraborty
更新于 2019年10月22日 10:58:43

122 次查看

假设我们有一个包含点(.)和数字的字符串,点表示单元格为空,如果任何单元格中存在数字x,则表示我们可以向字符串中移动x步到右侧或左侧。我们的任务是检查我们是否可以多次访问某个单元格。例如,如果一个字符串类似于“. 2 . . . 2 . .” ,那么我们可以通过两种不同的方式访问第 4 个单元格。从第二个单元格向右移动两步,或从单元格... 阅读更多

在 Java 中使用 javax.json API 美化打印 JSON?

raja
更新于 2020年7月7日 07:58:47

768 次查看

javax.json 包提供了一个对象模型 API 来处理 JSON。对象模型 API 是一个高级 API,它为 JSON 对象和数组结构提供不可变的对象模型。这些 JSON 结构可以使用 JsonObject 和 JsonArray 接口表示为对象模型。我们可以使用 JsonGenerator 接口以流式方式将 JSON 数据写入输出。JsonGenerator.PRETTY_PRINTING 是一个配置属性,用于美化生成 JSON。我们可以在下面的示例中实现美化打印 JSON。示例import java.io.*; import java.util.*; import javax.json.*; import javax.json.stream.*; public class JSONPrettyPrintTest {    public static void main(String args[]) {       String jsonString = ... 阅读更多

在 C++ 中检查二叉树是否按层级排序

Arnab Chakraborty
更新于 2019年10月22日 09:16:34

159 次查看

这里我们将看到如何检查二叉树是否按层级排序。按层级排序的二叉树将如下所示:-在每一层中,节点从左到右排序,并且每一层都包含比其上一层更高的值。我们可以通过执行层序遍历来解决此问题,并跟踪当前层的最小值和最大值。使用另一个变量prev_max来保存上一层的最大值。然后比较当前层的最小值和上一层的最大值prev_max。如果最小值是... 阅读更多

在 C++ 中检查二叉树是否包含大小为 2 或更大的重复子树

Arnab Chakraborty
更新于 2019年10月22日 09:13:10

153 次查看

假设我们有一棵二叉树。我们必须找到树中是否存在一些大小为 2 或更大的重复子树。假设我们有一棵如下所示的二叉树:-有两个大小为 2 的相同子树。我们可以使用树序列化和哈希过程来解决此问题。其思想是将子树序列化为字符串,并将它们存储在哈希表中。一旦我们在哈希表中找到一个已序列化的树(不是叶子),则返回true。示例 实时演示#include #include using namespace std; const char MARKER = '$'; struct Node ... 阅读更多

在 C++ 中检查二叉树(不是 BST)是否包含重复值

Arnab Chakraborty
更新于 2019年10月22日 09:06:22

214 次查看

假设我们有一棵二叉树,这棵二叉树不是 BST。我们必须检查二叉树是否包含相同的元素多次。为了解决这个问题,我们将使用哈希。我们将遍历给定的树,对于每个节点,我们将检查该节点是否在表中,如果它已经存在,则返回false,否则返回true。示例 实时演示#include #include using namespace std; class Node {    public:    int data;    Node *left;    Node *right; }; Node* getNode(int data){    Node *newNode = new Node; ... 阅读更多

在 C++ 中检查二进制字符串是否包含长度为 k 的所有排列

Arnab Chakraborty
更新于 2019年10月22日 09:03:53

103 次查看

假设我们有一个二进制字符串,另一个整数k。我们必须检查该字符串是否包含k位二进制的所有排列。假设一个字符串类似于“11001”,如果K = 2,则它必须具有k位数字的所有排列。(00、01、10、11),给定字符串具有所有排列。所以这是一个有效的字符串。通过获取二进制字符串和k的值,我们必须检查二进制序列是否匹配。二进制序列的大小为k。所以将有2k个不同的二进制排列。我们... 阅读更多

在 C++ 中检查是否可以从每一行选择一个数字,使得这些数字的异或值大于零

Arnab Chakraborty
更新于 2019年10月22日 08:42:56

114 次查看

假设我们有一个大小为 N x M 的二维数组。任务是检查我们是否可以从每一行选择一个数字,以便这些元素的异或值非零或大于 0。假设一个矩阵如下所示:-77710107如果我们执行异或,答案将是非零的,因为两行的除了最后一个元素之外的元素分别是 7 和 10为了解决这个问题,解决方案将非常简单。首先检查每一行的第一列元素的异或是否为 0。如果不是 0,那么... 阅读更多

在 C++ 中检查矩阵是否可逆

Arnab Chakraborty
更新于 2020年7月7日 07:40:07

150 次查看

这里我们将了解如何检查矩阵是否可逆。如果一个矩阵是 M,则其逆矩阵 M-1 将为 −$$M^-1=\frac{adj(M)}{|M\lvert}$$所以,只有当 M 的行列式不为零时,我们才能得到逆矩阵,否则,我们将无法得到其逆矩阵。因此,这里我们必须检查行列式是否为零。求行列式是一个递归过程。我们必须找到子矩阵,然后求其行列式,然后将该结果用于最终计算。让我们看看代码以更好地理解。示例 实时演示#include ... 阅读更多

广告

© . All rights reserved.