摘要: 1 C++ 编程基础 1.1 如何撰写 C++ 程序 1.2 对象的定义与初始化 对象初始化有两种方法 int num_tries = 0; // 使用 assignment 运算符(=)进行初始化 int num_right(0); // 构造函数初始化 对比: 使用 assignment 初始化 阅读全文
posted @ 2022-04-21 20:07 沐灵_hh 阅读(138) 评论(0) 推荐(0) 编辑
摘要: [MSVC 踩坑记录] set(CMAKE_CXX_STANDARD) 需要设置 /Zc:__cplusplus 最近在使用 MSVC 编译项目 CFSApp 的时候,eigen 总是报错说我 C++ 语言标准太低,在 cmakelists 中写了 set(CMAKE_CXX_STANDARD 17 阅读全文
posted @ 2023-04-02 10:24 沐灵_hh 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 为什么有的人 markdown 的 heading 从 ## 开始 TL;DR: 因为一级标题用来表示文章的 title 了。 看到过很多文章的 heading 都是从 <h2> (对应 markdown 里面的 ##)开始,但不知道为什么,明明从 # 更方便 为什么要用 ## 呢? 在回答这个问题 阅读全文
posted @ 2023-03-25 12:01 沐灵_hh 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 设变量 sum: 数组的和,n:数组元素个数,tot: 子数组和,cnt:子数组元素个数 通过简单的公式变换可以得到:sum / n = tot / cnt sum / n 的值是确定的,所以也就是需要找到一个子数组的平均值为 sum / n 最简单的方法是通过二进制枚举进行查找,但 n <= 30 阅读全文
posted @ 2022-11-14 10:31 沐灵_hh 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 思路 从题目中可以得出,一个表达式是通过 n(n>=1) 个表达式并列、嵌套而成。其实很像前缀表达式。 这样我们很容易想到通过递归的方式来做,递归的边界条件就是 "t" 或者 "f"。 在递归的过程中实际上是不断地缩小问题的规模,直到能够得出问题最终的答案。 在缩小问题规模的时候有两种情况: 嵌套 阅读全文
posted @ 2022-11-05 13:26 沐灵_hh 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 规则: () 得一分 AB 得 A + B 分,其中 A 和 B 是平衡括号字符串 (A) 得 2 * A 分,其中 A 是平衡括号字符串 给定一个平衡字符串求最后的分数: 思路: 这种括号类的题目使用栈的一般解法:左括号进栈,遇到右括号出栈 问题的关键是:如何在出栈的时候计算分数! 假设我们在括号 阅读全文
posted @ 2022-10-09 21:03 沐灵_hh 阅读(29) 评论(0) 推荐(0) 编辑
摘要: docker部署nginx+tomcat实现负载均衡 1,部署一台Nginx和三台Tomcat服务器 2,Ngnix需要实现三种策略: 1)轮询; 2)权重,三台服务器的权重为1,3,5; 3)IP Hash。 最终实现的效果是,本地电脑通过网页访问云服务器时,网页能够体现Ngnix三种策略的结果。 阅读全文
posted @ 2022-05-27 18:38 沐灵_hh 阅读(833) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 40. 最小的k个数 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 思路 方法一:排序 对原数组从小到大排序后取出前 k 个数即可。时间复杂度为O(nlogn) 方法二:堆 用一个大根堆实时 阅读全文
posted @ 2022-05-26 18:44 沐灵_hh 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 19. 正则表达式匹配 题目 请实现一个函数用来匹配包含'. '和''的正则表达式。模式中的字符'.'表示任意一个字符,而''表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但与" 阅读全文
posted @ 2022-05-23 10:38 沐灵_hh 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 题目 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (m+n)) 。 思路 思路一: 对两个数组进行归并排序,因为两个都是有序的,所以排序的时间复杂度为 O(m + n) 思路二: 阅读全文
posted @ 2022-05-14 19:34 沐灵_hh 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 53 - I. 在排序数组中查找数字 I 统计一个数字在排序数组中出现的次数。 思路 这题主要考察 lower_bound 和 upper_bound 的使用 upper_bound 减去 lower_bound 就是出现的次数 upper_bound:大于元素的第一个位置 low 阅读全文
posted @ 2022-05-10 23:32 沐灵_hh 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 52. 两个链表的第一个公共节点 输入两个链表,找出它们的第一个公共节点。 思路 思路一:使用 map 记录已经访问的节点 思路二:使用双指针,可以将空间复杂度将至 O(1) 设 A, B 两个链表,公共节点前的长度分别为 a, b, 公共节点的长度为 c,则 A 的长度为a+c, 阅读全文
posted @ 2022-05-10 23:26 沐灵_hh 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 51. 数组中的逆序对 求逆序对的例题 思路 求逆序对一般有两种解法:1 是归并排序,2是树状数组,使用树状数组的时候一般需要对数据进行你离散化,而归并排序不需要。 归并排序是在归并的时候进行答案统计,因为归并的时候两个序列都是有序的,所以如果左序列的某一个元素大于右序列的某个元素 阅读全文
posted @ 2022-05-10 23:19 沐灵_hh 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 49. 丑数 我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。 思路 方法一:堆 + 哈希去重 方法二:动态规划 代码 堆 + 哈希去重 typedef long long ll; class Solution { p 阅读全文
posted @ 2022-04-28 16:22 沐灵_hh 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 48. 最长不含重复字符的子字符串 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 代码 能用 unordered_set 还是用 unordered_set 吧,虽然慢了点。 class Solution { public: int lengthO 阅读全文
posted @ 2022-04-28 15:58 沐灵_hh 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 47. 礼物的最大价值 在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物? 代码 为了不 阅读全文
posted @ 2022-04-28 15:53 沐灵_hh 阅读(14) 评论(0) 推荐(0) 编辑