当前位置: 首页 > news >正文

做学术研究的网站怎样建设个人游戏网站

做学术研究的网站,怎样建设个人游戏网站,网站功防教程,桂林房价文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析#xff1a;二叉搜索树的性质是左子树的所有节点键值小于中间节点键值#xff0c;右子树的所有节点键值大于中间节… 文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析二叉搜索树的性质是左子树的所有节点键值小于中间节点键值右子树的所有节点键值大于中间节点键值且左子树和右子树也是二叉搜索树于是我们得到二叉搜索树的中序遍历是单调递增的有序数组那么一个有序数组两数之间绝对值最小的值一定是相邻节点的差值那么我们只要计算出中序遍历数组相邻元素差值的最小值即可。关于二叉搜索树的性质可以看这篇文章【算法与数据结构】98、LeetCode验证二叉搜索树。   程序如下 class Solution { public:void traversal_midOrder(TreeNode* cur, vectorint vec) {if (cur NULL) return;traversal_midOrder(cur-left, vec); // 左vec.push_back(cur-val); // 中traversal_midOrder(cur-right, vec); // 右}int getMinimumDifference(TreeNode* root) {if (root NULL) return {};vectorint v;traversal_midOrder(root, v);int minVal v[1] - v[0];if (v.size() ! 1) {for (int i 1; i v.size()-1; i) {if (v[i1] - v[i] minVal) minVal v[i 1] - v[i];}}return minVal;} };三、完整代码 # include iostream # include vector # include string # include queue using namespace std;// 树节点定义 struct TreeNode {int val;TreeNode* left;TreeNode* right;TreeNode() : val(0), left(nullptr), right(nullptr) {}TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}TreeNode(int x, TreeNode* left, TreeNode* right) : val(x), left(left), right(right) {} };class Solution { public:void traversal_midOrder(TreeNode* cur, vectorint vec) {if (cur NULL) return;traversal_midOrder(cur-left, vec); // 左vec.push_back(cur-val); // 中traversal_midOrder(cur-right, vec); // 右}int getMinimumDifference(TreeNode* root) {if (root NULL) return {};vectorint v;traversal_midOrder(root, v);int minVal v[1] - v[0];if (v.size() ! 1) {for (int i 1; i v.size()-1; i) {if (v[i1] - v[i] minVal) minVal v[i 1] - v[i];}}return minVal;} };// 前序遍历迭代法创建二叉树每次迭代将容器首元素弹出弹出代码还可以再优化 void Tree_Generator(vectorstring t, TreeNode* node) {if (!t.size() || t[0] NULL) return; // 退出条件else {node new TreeNode(stoi(t[0].c_str())); // 中if (t.size()) {t.assign(t.begin() 1, t.end());Tree_Generator(t, node-left); // 左}if (t.size()) {t.assign(t.begin() 1, t.end());Tree_Generator(t, node-right); // 右}} }templatetypename T void my_print(T v, const string msg) {cout msg endl;for (class T::iterator it v.begin(); it ! v.end(); it) {cout *it ;}cout endl; }templateclass T1, class T2 void my_print2(T1 v, const string str) {cout str endl;for (class T1::iterator vit v.begin(); vit v.end(); vit) {for (class T2::iterator it (*vit).begin(); it (*vit).end(); it) {cout *it ;}cout endl;} }// 层序遍历 vectorvectorint levelOrder(TreeNode* root) {queueTreeNode* que;if (root ! NULL) que.push(root);vectorvectorint result;while (!que.empty()) {int size que.size(); // size必须固定, que.size()是不断变化的vectorint vec;for (int i 0; i size; i) {TreeNode* node que.front();que.pop();vec.push_back(node-val);if (node-left) que.push(node-left);if (node-right) que.push(node-right);}result.push_back(vec);}return result; }int main() {vectorstring t { 4, 2, 1, NULL, NULL, 3, NULL, NULL, 6, NULL, NULL }; // 前序遍历my_print(t, 目标树);TreeNode* root new TreeNode();Tree_Generator(t, root);vectorvectorint tree levelOrder(root);my_print2vectorvectorint, vectorint(tree, 目标树:);Solution s;int result s.getMinimumDifference(root);cout 任意两节点之差的最小绝对值为 result endl;system(pause);return 0; }end
http://www.pierceye.com/news/530286/

相关文章:

  • dede淘宝客网站网站页面优化简单吗
  • 长春做网站优化的公司赣州做网站公司哪家好
  • 网站开发宝典做网站属于软件开发吗
  • 网站建设要求 优帮云福州模板建站定制网站
  • wordpress本地更换为网站域名jsp网站开发书籍
  • 做一个网站的流程沧州网站建设
  • 山东省城乡住房建设厅网站住房建设部网站监理员
  • 怎么做百度网站验证保健品商城网站模板
  • 丹东市做网站广东做网站的公司
  • 网站收录大全销售推广
  • 网站发展历程东莞企业网站建设制作
  • 厦门市建设局查询保障摇号网站首页做房产网站长
  • 公司网站建设的普遍性长沙建站网
  • 东莞英文建站公司api模式网站开发
  • 参与网站网站建设可判几年大同住房和城乡建设网站
  • 住房和城乡建设部网站投诉电话哈尔滨网页设计网站模板
  • 西安网站制作哪家公司好阳江房产网最新楼盘江楼盘
  • 科技馆网站建设网络营销实务教案
  • 网站上线倒计时html5模板文创产品设计流程
  • 建设项目竣工环保验收公示网站网站建设具体实施方案
  • 蜜淘app在那个网站做的濮阳吧
  • 建网站市场哪家网站开发好
  • 找生产厂家的网站宁波seo运营推广平台排名
  • 淘宝的网站建设的目标昌大建设集团是哪里的
  • 毕业设计h5网站制作较好的网站设计师培训学校
  • 做淘宝券推广的网站有哪些石碣镇做网站
  • 贵阳网站制作免费桂林市工程建设项目招标网站
  • 南昌专业网站排名推广做网站编辑我能力得到提升
  • 网站建设行业凡科建站登录入口官方正版
  • 一般网站开发的硬件要求视觉冲击力的网站设计