自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(157)
  • 资源 (1)
  • 收藏
  • 关注

原创 20220708

读书笔记

2022-07-08 16:38:40 265 2

原创 数字翻译成字符串

目录1. 剑指 Offer 46. 把数字翻译成字符串2. 91. 解码方法

2021-04-21 10:21:02 222

原创 丑数

丑数1. 剑指 Offer 49 丑数2. 263 丑数3. 264 丑数 II4. 313 超级丑数5. 1201 丑数 III

2021-04-11 15:17:52 233

原创 打家劫舍

打家劫舍1. 198 打家劫舍2. 213 打家劫舍 II3. 337 打家劫舍 III

2021-04-10 11:56:45 205

原创 买卖股票

买卖股票1. 剑指offer63股票的最大利润2. 121 买卖股票的最佳时机3. 122 买卖股票的最佳时机 II4. 123 买卖股票的最佳时机 III5. 188 买卖股票的最佳时机 IV6. 309 最佳买卖股票时机含冷冻期7. 714 买卖股票的最佳时机含手续费8. 901 股票价格跨度

2021-04-09 17:35:20 278

原创 构建二叉树

题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。leetcode链接1. 递归创建思路:记录当前前序遍历和中序遍历值所在的位置;对于根节点左子树来说,在中序遍历根节点的左侧,即在中序遍历数组中,其左子树继续在创建时,查看是否到了根节点值的位置;对于根节点右子树来说,在中序遍历根节点的右侧,即在中序遍历数组中,其右子树继续在创建时,只需要查看是否前序遍历数组是否越界。class Solution {public:

2021-03-25 18:06:54 126

原创 每日题目练习

每日题目练习

2021-03-24 08:39:54 116

原创 统计词频

写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。为了简单起见,你可以假设:words.txt只包括小写字母和 ' ' 。每个单词只由小写字母组成。单词间由一个或多个空格字符分隔。链接:https://leetcode-cn.com/problems/word-frequencycat words.txt | tr -s ' ' '\n' | sort | uniq -c | sort -r | awk '{print $2,$1}'指令解释

2021-03-13 10:28:20 401

原创 圆圈中最后剩下的数字

0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。链接:https://leetcode-cn.com/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof经典的约瑟夫环问题。最后一个人剩下的

2021-03-12 20:21:48 94

原创 股票的最大利润

假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?思路:一个遍历,挨次寻找最小值,若当前股票价格大于最小值,则求利润,并对当前利润进行保存,后续再进行 如上操作。class Solution {public: int maxProfit(vector<int>& prices) { int sz = prices.size(); if(sz <= 1) return 0

2021-03-12 20:06:07 202

原创 求1+2+…+n

1. 通过构造函数2. 通过逻辑短路3. 通过存储数据大小4. 通过析构函数

2021-03-11 21:56:26 193

原创 不用加减乘除做加法

写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。因为不能使用加减乘除,则我们可以考虑使用位运算来达到对加减乘除做加法的操作。一个数保留非进位,一个数保留进位,当进位为0时,则可以进行返回了。同样也需要注意到,负数存在的情况。class Solution {public: int add(int a, int b) { while(b != 0) { // 负数时,不支持右移,则强转为uns

2021-03-10 22:37:34 93

原创 构建乘积数组

给定一个数组A[0,1,…,n−1]A[0,1,…,n-1]A[0,1,…,n−1],请构建一个数组 B[0,1,…,n−1]B[0,1,…,n-1]B[0,1,…,n−1],其中 B[i]B[i]B[i]的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i−1]×A[i+1]×…×A[n−1]B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]B[i]=A[0]×A[1]×…×A[i−1]×A[i+1]×…×A[n−1]。不能使用除法。

2021-03-09 19:40:21 103

原创 设计模式:策略模式

1. 什么是策略模式?2. 谁来选择具体的策略算法呢?2.1 上下文做参数传递给策略对象3. 策略模式的优缺点:4. 何时选用策略模式?

2021-03-08 17:43:21 237 1

原创 C++类型转换

1. C语言类型转换1.1 隐式类型转换1.2 强制类型转换1.3 C语言类型转换存在的缺点2. C++类型转换2.1 类类型转换2.2 类转换构造函数2.3 C++新增类型转换运算符2.3.1 static_cast2.3.2 const_cast2.3.3 reinterpret_cast2.3.4 dynamic_cast

2021-03-03 18:38:55 640

原创 设计模式:观察者模式

1. 什么是观察者模式?2. 推模型 和 拉模型3. 观察者模式优缺点4. 何时选用观察者模式?

2021-03-02 22:31:05 172

原创 设计模式:抽象工厂模式

1. 什么是抽象工厂模式?2. 抽象工厂模式的优缺点3. 何时选用抽象工厂模式?4. 抽象工厂模式和其它相关模式

2021-03-02 16:43:55 162

原创 设计模式:工厂方法模式

1. 什么是工厂方法模式?2. 参数化工厂方法3. 工厂方法模式和简单工厂模式4. 工厂方法模式优缺点5. 何时选用工厂方法模式?

2021-03-02 11:47:27 290 2

原创 设计模式:单例模式

1. 什么是单例模式?2. 饿汉3. 懒汉4. 单例模式优缺点

2021-03-01 20:21:52 1010 6

原创 设计模式:简单工厂模式

1. 简单工厂的概念2. 简单工厂的优缺点3. 何时选用简单工厂?

2021-03-01 16:06:13 902 9

原创 特殊类的设计

1. 只能在堆上创建对象的类2. 只能在栈上创建对象的类3. 不能被拷贝的类4. 不能被继承的类

2021-03-01 11:06:13 932 2

原创 C++中智能指针概念及模拟实现

什么是智能指针,提出智能指针的目的是什么,智能指针的各版本,及模拟实现。

2021-02-28 20:05:32 1035 3

原创 C++异常的规则

异常

2021-02-28 12:12:00 2481 8

原创 C++11中的线程库

C++11中的线程库

2021-02-25 17:09:31 462

原创 什么是右值引用?

右值引用,为什么引入右值引用

2021-02-24 21:45:39 4953 5

原创 C++11中的一些新特性

C++11中的一些新特性

2021-02-24 16:42:56 120

原创 海量数据处理的问题

海量数据处理

2021-02-24 14:24:29 360 2

原创 布隆过滤器(Bloom Filter)

布隆过滤器原理及实现

2021-02-24 10:58:06 1304

原创 位图实现原理、模拟及库函数中bitset

位图的模拟实现

2021-02-23 21:57:21 809 6

原创 散列表(Hash Table)概念、散列冲突、开散列模拟实现散列表

散列表概念,及解决散列冲突的办法、开散列模拟实现散列表

2021-02-19 15:06:19 1147 2

原创 CSDN中如何插入数学公式

Cmd Markdown 公式指导手册

2021-02-12 14:12:24 149

原创 TCP协议三次握手、数据收发、四次挥手,及抓包分析

TCP协议的三次握手、四次挥手以及wires hark抓包分析

2021-02-10 16:45:44 1658 2

原创 红黑树的插入、及模拟实现红黑树(附代码 + 图解 + 注释)

红黑树

2021-02-10 13:41:16 2335 1

原创 C++多态详解

C++多态

2021-02-08 17:15:06 1416 2

原创 AVL树的四种旋转,模拟实现AVL树

AVL树从入门到精通

2021-02-03 22:59:48 327 1

原创 UDP协议详解

UDP( User Datagram Protocol)协议,用户数据报协议。简单的UDP编程代码1. UDP协议的三大特点无连接:在给对方发送消息的时候,不需要建立连接,只要知道对方的IP地址及侦听的端口就可以直接发送数据了。不可靠:对于UDP的发送方而言,不关心消息接收方是否工作正常,只关心发送函数调用是否成功(发送方调用sendto函数成功);面向数据报:应用层给传输层的UDP协议递交数据的时候,应用层的数会被临时写到UDP协议的发送缓冲区中,此时,在缓冲区当中打上UDP协议的报头之后,

2021-02-01 16:42:07 1043 1

原创 C++继承中的详解,虚基表的理解

继承、虚基表

2021-01-31 21:23:11 768

原创 复杂链表的复制

题目描述:请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。链接:https://leetcode-cn.com/problems/fu-za-lian-biao-de-fu-zhi-lcof1.哈希表建立映射关系,当前节点和复制的节点。复制的节点为新开辟出来的节点开辟出来的节点next节点,为源节点的下一个节点的映射开辟出来的节点random节点,为源

2021-01-17 20:22:30 86

原创 二叉树中和为某一值的路径

题目描述:输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。链接:https://leetcode-cn.com/problems/er-cha-shu-zhong-he-wei-mou-yi-zhi-de-lu-jing-lcof/解题思路:某一值的路径,则二叉树最后节点必须为叶子节点采用dfs + 回溯代码:class Solution {public: vector<vector<

2021-01-17 16:16:58 94 1

原创 二叉搜索树的后序遍历序列

题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-hou-xu-bian-li-xu-lie-lcof/解题思路:二叉搜索树的后序遍历序列。则最后的为根节点后序遍历时,左子树的值都比根节点值小当某节点比根节点值大时,则该节点为右子树,即右子树的值均大于根节点的值基于第三

2021-01-17 16:02:24 105

DataStruct.zip

数据结构中的顺序表、单链表、单循环链表和双循环链表的C语言实现。 1.单链表和单循环链表分为使用了有头节点和无头节点的方式实现。 2.双循环链表使用了有头节点和无头节点的方式实现。

2020-07-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除