04 2023 档案

摘要:LeetCode | 241.为运算表达式设计优先级 给你一个由数字和运算符组成的字符串 expression ,按不同优先级组合数字和运算符,计算并返回所有可能组合的结果。你可以 按任意顺序 返回答案。 生成的测试用例满足其对应输出值符合 32 位整数范围,不同结果的数量不超过 104 。 示例 阅读全文
posted @ 2023-04-28 13:31 卑以自牧lq 阅读(6) 评论(0) 推荐(0)
摘要:c++ static 关键字 有五种用法 静态成员变量 不需要声明对象就可以访问 内存分配在全局数据区,只分配一次内存,所有的对象共享静态成员变量 静态成员变量必须初始化,初始化时分配内存 遵循 public、private、protected 访问规则 sizeof 不计算静态成员变量 生命周期: 阅读全文
posted @ 2023-04-25 16:51 卑以自牧lq 阅读(20) 评论(0) 推荐(0)
摘要:c++ const 关键字 作用 修饰变量,说明该变量不可改变 修饰指针,分为指向指针的常量 (pointer to const) 和 自身是常量的指针 (const pointer) 修饰引用,指向常量的引用 (reference to const) 修饰成员函数,说明该成员函数内不能修改成员变量 阅读全文
posted @ 2023-04-21 15:44 卑以自牧lq 阅读(22) 评论(0) 推荐(0)
摘要:LeetCode | 22.括号生成 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] 示例 2: 输入:n = 1 输出: 阅读全文
posted @ 2023-04-20 19:41 卑以自牧lq 阅读(30) 评论(0) 推荐(0)
摘要:c++ 静态绑定和动态绑定 C++ 中有两种不同的函数调用方式:静态绑定和动态绑定。 静态绑定 静态绑定是指在编译时确定调用哪个函数。也就是说,编译器会根据函数调用的名称和参数类型来确定要调用的函数。这种方式也被称为静态多态或编译时多态。 静态绑定适用于以下情况: 在编译时已经知道调用哪个函数。 函 阅读全文
posted @ 2023-04-20 15:03 卑以自牧lq 阅读(275) 评论(0) 推荐(0)
摘要:C++是一种高级编程语言,它支持两种不同的编译方式:静态编译和动态编译。下面是它们的介绍: 静态编译 静态编译是将程序代码和库函数一起编译成一个可执行文件的过程。在静态编译过程中,程序代码和库函数的代码被组合在一起,形成一个独立的可执行文件,该文件可以在任何系统上运行,因为它包含了所有所需的代码和库 阅读全文
posted @ 2023-04-20 14:04 卑以自牧lq 阅读(908) 评论(0) 推荐(0)
摘要:Qt 多线程 QThread、QThreadPool使用场景 QThread 和 QRunnable 都是 Qt 框架中用于多线程编程的类,它们之间有以下不同点: 继承关系不同 QThread 继承自 QObject 类,而 QRunnable 没有父类。 实现方式不同 QThread 是一个完整的 阅读全文
posted @ 2023-04-18 17:32 卑以自牧lq 阅读(197) 评论(0) 推荐(0)
摘要:QMutex 同一个QMutex lock() 时,其他的 lock() 操作要等待 locked 的地方 unlock() (可以保证顺序执行) 测试代码: #include <iostream> #include <QThread> #include <QMutex> using namespa 阅读全文
posted @ 2023-04-18 14:44 卑以自牧lq 阅读(281) 评论(0) 推荐(0)
摘要:设计模式之单例模式 单例模式(Singleton Pattern) 一种创建型设计模式,用于确保一个类只能创建一个实例,并提供一个全局访问该实例的方式。 定义一个单例类: 私有化它的构造函数,以防止外界创建单例类的对象; 使用类的私有静态变量指向类的唯一实例; 使用一个公有的静态方法获取该实例。 单 阅读全文
posted @ 2023-04-17 15:57 卑以自牧lq 阅读(24) 评论(0) 推荐(0)
摘要:设计模式之工厂模式 简单工厂模式 简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,用于封装对象的创建逻辑。在简单工厂模式中,创建对象的逻辑被封装在一个工厂类中,而不是在客户端直接创建对象。 简单工厂模式的结构组成: 抽象产品类(Product):即要创建的对象,通常 阅读全文
posted @ 2023-04-14 14:29 卑以自牧lq 阅读(54) 评论(0) 推荐(0)
摘要:LeetCode 109.有序链表转换二叉搜索树 给定一个单链表的头节点 head ,其中的元素 按升序排序 ,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差不超过 1。 示例 1: 输入: head = [-10,-3,0,5,9] 输出 阅读全文
posted @ 2023-04-13 16:44 卑以自牧lq 阅读(15) 评论(0) 推荐(0)
摘要:GPL 协议的解释 GPL(GNU通用公共许可证)是一种自由软件许可证,由自由软件基金会(Free Software Foundation,简称FSF)创建并维护。它是一种开源许可证,旨在保护软件用户的自由,并确保软件的自由传播和共享。 GPL 协议的主要原则如下: 自由使用:用户有权以任何目的运行 阅读全文
posted @ 2023-04-06 20:37 卑以自牧lq 阅读(2941) 评论(0) 推荐(0)
摘要:C++ 数字和 string 类型的相互转换 数字转为 string c++ 数字转为 string 有三种方式 1.std::to_string() 函数 // Defined in header <string> std::string to_string(int value); // (sin 阅读全文
posted @ 2023-04-04 14:20 卑以自牧lq 阅读(827) 评论(0) 推荐(0)
摘要:LeetCode | 501.二叉搜索树中的众数 给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。 如果树中有不止一个众数,可以按 任意顺序 返回。 假定 BST 满足如下定义: 结点左子树中所含节点的值 小于等于 当前节点的 阅读全文
posted @ 2023-04-03 16:03 卑以自牧lq 阅读(28) 评论(0) 推荐(0)
摘要:LeetCode | 145.二叉树的后序遍历 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 1 \ 2 / 3 输入:root = [1,null,2,3] 输出:[3,2,1] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1 阅读全文
posted @ 2023-04-03 13:20 卑以自牧lq 阅读(26) 评论(0) 推荐(0)
摘要:LeetCode | 144 二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 1 \ 2 / 3 输入:root = [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 阅读全文
posted @ 2023-04-02 23:13 卑以自牧lq 阅读(50) 评论(0) 推荐(0)