LeetCode | 109.有序链表转换二叉搜索树
给定一个单链表的头节点 head ,其中的元素 按升序排序 ,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差不超过 1。 示例 1: 输入…
|
677
|
|
c++ 智能指针
c++ 有三种智能指针: shared_ptr weak_ptr unique_ptr 头文件 \<memory> 关于 auto_ptr 指针 C++98 提供了 auto_ptr 模板的解决…
|
783
|
|
LeetCode | 105.从前序遍历和中序遍历构造二叉树
给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 示例 1: 输入: preo…
|
678
|
|
剑指 Offer 68 – II.二叉树的最近公共祖先
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深…
|
702
|
|
Qt 开发软件是否需要开源
GPL 协议的解释 GPL(GNU通用公共许可证)是一种自由软件许可证,由自由软件基金会(Free Software Foundation,简称FSF)创建并维护。它是一种开源许可证,旨在保护软件用户…
|
837
|
|
C++ 数字和 string 类型的相互转换
数字转为 string std::to_string() 函数 // Defined in header <string> std::string to_string(int value)…
|
736
|
|
LeetCode | 501.二叉搜索树中的众数
给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。 如果树中有不止一个众数,可以按 任意顺序 返回。 假定 BST 满足如下定义…
|
695
|
|
LeetCode | 145.二叉树的后序遍历
给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 1 \ 2 / 3 输入:root = [1,null,2,3] 输出:[3,2,1] 示例 2: 输入:root = […
|
698
|
|
LeetCode | 144 二叉树的前序遍历
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 1 \ 2 / 3 输入:root = [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root = [] …
|
652
|
|
LeetCode | 94.二叉树的中序遍历
给定一个二叉树的根节点 root ,返回它的 中序 遍历 。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3…
|
699
|
|
LeetCode | 133.克隆图
给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。 图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。 class Node { public: …
|
904
|
|
LeetCode | 2367.算术三元组的数目
给你一个下标从 0 开始、严格递增 的整数数组 nums 和一个正整数 diff 。如果满足下述全部条件,则三元组 (i, j, k) 就是一个 算术三元组 : i < j < k , n…
|
659
|
|
经典图论问题:传递信息
小朋友 A 在和 ta 的小伙伴们玩传信息游戏,游戏规则如下: 有 n 名玩家,所有玩家编号分别为 0 ~ n - 1,其中小朋友 A 的编号为 0 每个玩家都有固定的若干个可传信息的其他玩家(也可能…
|
677
|
|
LeetCode | 1641.统计字典序元音字符串的数目
给你一个整数 n,请返回长度为 n 、仅由元音 (a, e, i, o, u) 组成且按 字典序排列 的字符串数量。 字符串 s 按 字典序排列 需要满足:对于所有有效的 i,s[i] 在字母表中的位…
|
734
|
|
杨辉三角
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows = 5 输出: [[1],[1,…
|
620
|
|
LeetCode | 1092.最短公共超序列
给出两个字符串 str1 和 str2,返回同时以 str1 和 str2 作为子序列的最短字符串。如果答案不止一个,则可以返回满足条件的任意一个答案。 (如果从字符串 T 中删除一些字符(也可能不删…
|
693
|
|
LeetCode | 1638.统计只差一个字符的子串数目
给你两个字符串 s 和 t ,请你找出 s 中的非空子串的数目,这些子串满足替换 一个不同字符 以后,是 t 串的子串。换言之,请你找到 s 和 t 串中 恰好 只有一个字符不同的子字符串对的数目。 …
|
683
|
|
LeetCode | 1574.删除最短子数组使剩余数组有序
给你一个整数数组 arr ,请你删除一个子数组(可以为空),使得 arr 中剩下的元素是 非递减 的。 一个子数组指的是原数组中连续的一个子序列。 请你返回满足题目要求的最短子数组的长度。 示例 1:…
|
776
|
|
Qt 利用滚动条分页显示
问题:qt 控件加载大量数据时初始化时间很长,界面比较卡顿。如 QCombobox, QTableView; 解决:这些控件都有滚动条,可以利用滚动条进行分页显示。 一开始只加载部分数据,当用户拖动滚…
|
692
|
|
LeetCode | 2379.得到 k 个黑色快的最少涂色次数
给你一个长度为 n 下标从 0 开始的字符串 blocks ,blocks[i] 要么是 'W' 要么是 'B' ,表示第 i 块的颜色。字符 'W' 和 'B' 分别表示白色和黑色。 给你一个整数 …
|
703
|
|