找到 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.