data-structures 相关问题

数据结构是以允许有效地查询和/或更新该数据的特定属性的方式组织数据的方式。

在js中使用栈反转句子

我想在 JavaScript 中使用 Stack 反转一个句子,所以在这里如果我输入,嘿,你好吗?并想要完成输出?你嘿嘿,所以我遍历循环并检查直到spac...

回答 1 投票 0

在给定位置插入双向链表的所有情况在 JS 中都不起作用

我使用javascript在节点的开头、中间和结尾添加了一个在给定位置程序插入的双向链表,所以问题是:所有测试用例都不起作用...

回答 1 投票 0

这棵(不完整)树的数组表示是什么?

根据 LC,这棵树(我们称之为 a)的数组表示是 a = [1, NULL, 2, 3] 然而,这违反了 a 的位置 i 的根的左子节点处于位置的算法...

回答 1 投票 0

在二叉树中查找表兄弟

给定具有唯一值的二叉树的根以及树中两个不同节点 x 和 y 的值,如果与树中值 x 和 y 对应的节点是表兄弟,则返回 true,否则

回答 1 投票 0

展平二叉树解释

我正在尝试解决有关将二叉树展平为链表类型结构的问题。我也会在这里写下问题描述 编写一个接受二叉树的函数,扁平...

回答 1 投票 0

在Python中对加权无向图进行排序

我需要根据权重对下面的图表进行排序。 graph_G = {'A': [('B', 7), ('E', 2)], 'B': [('C', 6)], 'C': [('A', 5), ('D', 3)], 'D': [('E', 1)], 'E': [('A', 7)],...

回答 1 投票 0

C 中的字典/映射/键值对数据结构

如何在 C 中构造和访问一组键值对?举一个简单的例子,假设我想创建一个在整数及其平方根之间进行转换的表。 如果我是

回答 5 投票 0

Java:字符的差异

我正在试验Java中的字符 片段1 char c='b'-'a'; 片段2 char c='b'-'c'; // 错误:java:不兼容的类型:从 int 到 char 可能有损转换 为什么手术不...

回答 1 投票 0

如何可视化此二叉树插入的堆栈名气?

如何可视化此二叉树插入的堆栈名气?这非常重要,因为这本质上是递归的。一旦我理解了递归,我就能够编写递归解决方案。我在这里

回答 1 投票 0

从优先级队列中删除项目

在Python中,heapq模块提供了一个优先级队列。 它具有插入和弹出项目的方法。 如何从队列中删除已插入的优先级不是最低的项目...

回答 6 投票 0

使用动态规划对矩阵的最大路径求和

给定一个维度为 N * N 的矩阵 mat[][],我需要找到从左上角单元格 (0, 0) 到右下角单元格 (N – 1, N – 1) 的路径给定矩阵,使得 p 中的元素之和...

回答 2 投票 0

绳子有平衡条件吗?

我刚刚读了绳子文章,并没有找到绳子的任何平衡条件。这是否意味着任何叶子中带有短字符串的二叉树都是绳子?

回答 2 投票 0

即使输出正确,答案也显示不同

我正在练习一些leetcode,而且我对它还很陌生。所以,就出现了这个问题,需要将0右移。我编写了代码,输出按预期进行,但结果

回答 1 投票 0

如何列出元素保持顺序并反向迭代?

Java中最好的列表/集合/数组是什么,结合了以下几个方面: 维护添加元素的顺序 尽可能向前和向后迭代 当然有好的表现 我

回答 3 投票 0

在c++中为结构创建minheap

#包括 #包括 结构文档{ 双等级; 显式文档(double r) : 等级(r) {} }; 结构 doc_rank_greater_than { 布尔运算符()(doc const& a, doc

回答 1 投票 0

使用windows api库绕过windows终端

条件:使用windows api库对带“*”符号的windows操作系统终端进行可视化旁路。 该程序是用 C 编程语言编写的,在

回答 1 投票 0

有没有小于O(n)空间的集合实现

假设我想实现一个Set结构。支持 1 .add 操作将元素添加到集合中 2. 存在操作检查元素是否在集合中。 (不允许数据丢失,也没有假设......

回答 1 投票 0

需要找到下一个节点插入二叉树,资源和性能占用较少

数据库树架构 节点ID 节点位置 节点父代号 1 左边 无效的 2 左边 1 3 正确的 1 4 左边 2 5 正确的 2 6 左边 3 7 正确的 3 8 左边 4 9 正确的 4 就像这个表在用户

回答 1 投票 0

打印二叉搜索树时如何计算每行所需的空间?

我正在尝试创建一个函数,按照教授的要求以垂直方式打印二维二叉搜索树。但是,我无法计算打印每个 li 时所需的正确间距...

回答 1 投票 0

为什么我在 leetcode 问题“House Robber”上遇到错误?

类解决方案{ 民众: int rob(向量& nums) { int max=0,sum=0,temp; for(int i=0;i class Solution { public: int rob(vector<int>& nums) { int max=0,sum=0,temp; for(int i=0;i<nums.size();i++) { if(nums[i]!=0) { if(nums[i]>max) { max=nums[i]; temp=i; } } } nums[temp]=0; if((temp+1)!=NULL) nums[temp+1]=0; if((temp-1)!=NULL) nums[temp-1]=0; sum=sum+max; for(int i=0;i<nums.size();i++) { if(nums[i]!=0) { return rob(nums); } } return sum; } }; 有个问题是: https://leetcode.com/problems/house-robber/description/ 我不知道为什么会出现错误: Line 1037: Char 34: runtime error: addition of unsigned offset to 0x602000000090 overflowed to 0x60200000008c (stl_vector.h) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_vector.h:1046:34 它在空运行时工作正常,但leetcode不断显示错误 您的代码有一些问题。一般建议:leetcode 作为学习 C++ 的方式并没有良好的声誉。其次,多利用空白。将所有内容放在一起会使代码更难阅读。我将包含您的代码并对其进行一些清理。我会在看到问题的地方添加内嵌评论。 class Solution { public: int rob(vector<int>& nums) { // Most coding standards will tell you to define variables // one per line instead of all together like this. It's just // a style and not a real issue. int max=0,sum=0,temp; for (int i = 0; i < nums.size(); i++) { if (nums[i] != 0) { if(nums[i]>max) { max = nums[i]; temp = i; } } } nums[temp] = 0; // Why are you treating temp like a pointer? This code // is almost certainly wrong. // You probably mean if (temp + 1 < nums.size() if ((temp + 1) != NULL) nums[temp+1] = 0; // This code is probably also wrong. // What you probably mean is "if (temp > 0)" if ((temp - 1) != NULL) nums[temp-1]=0; sum = sum+max; for (int i = 0; i < nums.size(); i++) { if (nums[i] != 0) { return rob(nums); } } return sum; } }; 有关 if 语句的注释可能是问题的原因。但是,我不知道这将如何真正解决您的问题。您已经正确地识别了递归方法。然而,你的基本算法是行不通的。 在任何特定的房子里,如果你抢劫了前一栋房子,你就不能抢劫这一栋。在任何给定的房子里,你必须决定你是否最好抢劫这一栋或下一栋。这就是递归的地方。所以你的代码确实需要使用一种带有“下一个要抢劫的房子”参数的方法。 int sumRobFirst = nums[first] + bestResultRobbing(nums, first+2); int sumRobNext = bestResultRobbing(nums, first+1); if (sumRobFirst > sumRobNext) ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.