salmonwilliam的博客

私信 关注
HeisenbergWDG
码龄4年

努力学习中

  • 545,172
    被访问量
  • 714
    原创文章
  • 3,622
    作者排名
  • 199
    粉丝数量
  • 于 2016-10-17 加入CSDN
获得成就
  • 获得233次点赞
  • 内容获得90次评论
  • 获得899次收藏
荣誉勋章
TA的专栏
  • 刷题again
    192篇
  • pytorch
    1篇
  • C++并发编程
    1篇
  • 操作系统
    8篇
  • 设计模式
    1篇
  • 面经准备
    3篇
  • 数据库
    16篇
  • 五线谱
    5篇
  • 模糊测试AFL
    3篇
  • GOGOGO
    1篇
  • github
    1篇
  • 前端学习
    9篇
  • 后端学习
    7篇
  • paddlepaddle强化学习PARL
    5篇
  • paddlepaddle个人笔记
    36篇
  • 计算几何
    2篇
  • python数据分析基础
    13篇
  • 算法
    35篇
  • 排序
    8篇
  • Hash算法
    9篇
  • 华为实习
    15篇
  • 二叉树
    44篇
  • 贪心算法
    12篇
  • 背包
    10篇
  • KMP
    4篇
  • 图论
    29篇
  • Java学习——代码合集
    1篇
  • 随便写写
    14篇
  • Linux学习
    36篇
  • socket编程
    13篇
  • 分布式系统
    2篇
  • 网站
    4篇
  • C/C++文件读写代码合集
    1篇
  • 自然语言处理Natural language processing
  • 自然语言处理Natural language process
    1篇
  • 有趣的问题
    11篇
  • 机器学习
    23篇
  • C/C++
    38篇
  • 数学之美笔记
    2篇
  • 研究生之路
    1篇
  • Leetcode
    237篇
  • 区块链
    23篇
  • 财务管理(不务正业)
    2篇
  • 日语小白
    2篇
  • 计算机网络
    45篇
  • Pyqt5
    42篇
  • Qt5
    13篇
  • Python学习
    40篇
  • python爬虫学习
    33篇
  • Android开发
    6篇
  • 动态规划dp
    32篇
  • 初等数论
    5篇
  • 字典树trie
    1篇
  • 密码学
    10篇
  • vxworks
    2篇
  • 嵌入式
    4篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

Win10+非英伟达显卡+Anaconda+Pytorch安装

Win10+非英伟达显卡+Anaconda+Pytorch安装AMD显卡如何用Anaconda安装pytorch1.anaconda正常安装即可下载地址https://www.anaconda.com/products/individual#Downloads2.打开anaconda prompt3.在base里切换到清华源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkg.
转载
16阅读
0评论
0点赞
发布博客于 5 天前

C++并发编程1

#include <iostream>#include <thread> //①#include<vector>#include<algorithm>#include<functional>void hello(int &i, std::string const& s) //②{ i=3; std::cout <<i<< " Hello Concurrent World
"&l.
原创
12阅读
0评论
0点赞
发布博客于 5 天前

kmp算法

题目描述给你一个非空模板串S,一个文本串T,问S在T中出现了多少次示例1输入"ababab","abababab"返回值2示例2输入"abab","abacabab"返回值1题目链接:https://www.nowcoder.com/practice/bb1615c381cc4237919d1aa448083bcc?tpId=117&tqId=37859&rp=1&ru=%2Fta%2Fjob-code-high&qr
原创
7阅读
0评论
0点赞
发布博客于 6 天前

通配符匹配

请实现支持'?'and'*'.的通配符模式匹配'?' 可以匹配任何单个字符。'*' 可以匹配任何字符序列(包括空序列)。返回两个字符串是否匹配函数声明为:bool isMatch(const char *s, const char *p)下面给出一些样例:isMatch("aa","a") → falseisMatch("aa","aa") → trueisMatch("aaa","aa") → falseisMatch("aa", "*") → trueisMatch("
原创
7阅读
0评论
0点赞
发布博客于 9 天前

最小编辑代价

题目描述给定两个字符串str1和str2,再给定三个整数ic,dc和rc,分别代表插入、删除和替换一个字符的代价,请输出将str1编辑成str2的最小代价。示例1输入"abc","adc",5,3,2返回值2示例2输入"abc","adc",5,3,100返回值8备注:题目链接:https://www.nowcoder.com/practice/05fed41805ae4394ab6607d0d745c8e4?tpId=188&tq
原创
30阅读
0评论
0点赞
发布博客于 10 天前

关于构造函数 和 析构函数 能否抛出异常的讨论

构造函数和析构函数分别管理对象的建立和释放,负责对象的诞生和死亡的过程。当一个对象诞生时,构造函数负责创建并初始化对象的内部环境,包括分配内存、创建内部对象和打开相关的外部资源,等等。而当对象死亡时,析构函数负责关闭资源、释放内部的对象和已分配的内存。在对象生死攸关的地方,如果程序代码出现问题,常常会发生内存泄漏,从而产生可能危害系统运行的孤魂野鬼。大量的事实表明,业务逻辑代码写得非常严谨的程序在运行中仍然发现存在内存泄露,大都是构造和析构部分的代码存在问题。而许多程序员都习惯于面向对象的编程,需要
转载
8阅读
0评论
0点赞
发布博客于 11 天前

括号序列

题目描述给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列括号必须以正确的顺序关闭,"()"和"()[]{}"都是合法的括号序列,但"(]"和"([)]"不合法。示例1输入"["返回值false示例2输入"[]"返回值true题目链接:https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2?tpId=117&a
原创
8阅读
0评论
0点赞
发布博客于 13 天前

在有序旋转数组中找到最小值

#include<bits/stdc++.h>using namespace std;int main(){ int n; while(cin>>n) { vector<int> vc(n+1,0); for(int i=0;i<n;i++) { cin>>vc[i]; } int low=0,high=n-1,m...
原创
16阅读
0评论
0点赞
发布博客于 14 天前

大话设计模式

https://localhost.blog.csdn.net/category_8723350.html
转载
8阅读
0评论
0点赞
发布博客于 14 天前

计算机网络-报文交换与分组交换

https://blog.csdn.net/suxiaorui/article/details/87099192
转载
10阅读
0评论
0点赞
发布博客于 14 天前

c++ unordered_map 源码的解析以及vector

https://blog.csdn.net/yangxuan0261/article/details/52090128
转载
21阅读
0评论
0点赞
发布博客于 16 天前

400. Nth Digit

Given an integern, return thenthdigit of the infinite integer sequence[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...].Example 1:Input: n = 3Output: 3Example 2:Input: n = 11Output: 0Explanation: The 11th digit of the sequence 1, 2, 3, 4, 5, 6,...
原创
4阅读
0评论
0点赞
发布博客于 17 天前

134. Gas Station

There arengas stations along a circular route, where the amount of gas at theithstation isgas[i].You have a car with an unlimited gas tank and it costscost[i]of gas to travel from theithstation to its next(i + 1)thstation. You begin the journe...
原创
10阅读
0评论
0点赞
发布博客于 18 天前

32/64位系统支持多大内存

32/64位系统支持多大内存自从win7系统之后,大家在安装系统或应用时,就又多了一个需要关注的选项,版本!这个版本不仅仅指的是家庭版、教育版、旗舰版、企业版、专业版这些版本,还包括了另外两个词,32位和64位。从这之后许多用户最常问的问题就是,我的系统最大支持多大的内存?首先解释一下为什么会有32位和64位系统在内存上的差异。32位系统32位系统使用32位地址线的最大寻址空间为2的32次方bytes,计算后即4294967296 Bytes,也就是我们常说的4096MB,32位地址线的寻址
转载
15阅读
0评论
0点赞
发布博客于 21 天前

GET和POST两种基本请求方法的区别

https://www.cnblogs.com/logsharing/p/8448446.htmlGET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给...
转载
29阅读
0评论
0点赞
发布博客于 21 天前

C++中类成员的访问权限和继承权限问题

1) 三种访问权限① public:用该关键字修饰的成员表示公有成员,该成员不仅可以在类内可以被 访问,在类外也是可以被访问的,是类对外提供的可访问接口;② private:用该关键字修饰的成员表示私有成员,该成员仅在类内可以被访问,在类体外是隐藏状态;③ protected:用该关键字修饰的成员表示保护成员,保护成员在类体外同样是隐藏状态,但是对于该类的派生类来说,相当于公有成员,在派生类中可以被访问。2) 三种继承方式① 若继承方式是public,基类成员在派生类中的访问权限保持不变
转载
27阅读
0评论
0点赞
发布博客于 21 天前

C++空指针使用nullptr代替NULL

C++空指针使用nullptr代替NULL - 算法集市的文章 - 知乎 https://zhuanlan.zhihu.com/p/164899234C/C++中,为了避免野指针(即指针没有指向任何地址)的出现,声明一个指针后,最好马上对其进行初始化。如果暂时不明确指针指向哪个变量,则可以赋予NULL,如:int* p = NULL;除了NULL之外,C++11新标准引入了nullptr来表示一个空指针。nullptr 既不是整型类型,也不是指针类型,nullptr 的类型是 std
转载
29阅读
0评论
0点赞
发布博客于 21 天前

mysql和redis的区别

https://blog.csdn.net/zy47675676/article/details/897050621.mysql和redis的数据库类型mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提高运行效率,但是保存时间有限2.mysql的运行机制mysql作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O
转载
8阅读
0评论
0点赞
发布博客于 22 天前

354. Russian Doll Envelopes俄罗斯套娃信封dp

You are given a 2D array of integersenvelopeswhereenvelopes[i] = [wi, hi]represents the width and the height of an envelope.One envelope can fit into another if and only if both the width and height of one envelope is greater than the width and heigh...
原创
14阅读
0评论
0点赞
发布博客于 22 天前

多线程与多进程的优缺点

Java后端开发实习面经(1)线程与进程的区别:线程是进程划分成的更⼩的运⾏单位,⼀个进程在其执⾏的过程中可以产⽣多个线程。线程和进程最⼤的不同在于基本上各进程是独⽴的,⽽各线程则不⼀定,因为同⼀进程中的线程极有可能会相互影响。线程执⾏开销⼩,但不利于资源的管理和保护;⽽进程正相反。进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发;线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发;一个程序至少有一个进程,一个进
转载
23阅读
0评论
0点赞
发布博客于 22 天前

403. Frog Jump

A frog is crossing a river. The river is divided into some number of units, and at each unit, there may or may not exist a stone. The frog can jump on a stone, but it must not jump into the water.Given a list ofstones' positions (in units) in sortedasc..
原创
19阅读
0评论
0点赞
发布博客于 23 天前

超键、候选键、主键、外键

https://blog.csdn.net/liushuijinger/article/details/12832017超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键候选键(candidate key):不含有多余属性的超键称为候选键主键(primary key):用户选作元组标识的一个候选键程序主键外键(foreign key)如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键则该属性集是关系模式R1的外键。结合实例的具体解释:..
转载
31阅读
0评论
0点赞
发布博客于 23 天前

头文件防卫式声明

https://mp.weixin.qq.com/s/UjcAdWMoyNycYznhhmhZSw
转载
10阅读
0评论
0点赞
发布博客于 23 天前

回调函数

https://mp.weixin.qq.com/s/MflckbcyANMyu2Anl3qXXw
转载
9阅读
0评论
0点赞
发布博客于 23 天前

C++仿函数

https://www.jianshu.com/p/99f2bdd427ba仿函数(functor),就是使一个类的使用看上去像一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了。在我们写代码时有时会发现有些功能实现的代码,会不断的在不同的成员函数中用到,但是又不好将这些代码独立出来成为一个类的一个成员函数。但是又很想复用这些代码。写一个公共的函数,可以,这是一个解决方法,不过函数用到的一些变量,就可能成为公共的全局变量,再说为了复用这么一片代码,就
转载
44阅读
0评论
0点赞
发布博客于 23 天前

C++模板

https://mp.weixin.qq.com/s/7gC9T0rSM9honWrmawYpkw
转载
5阅读
0评论
0点赞
发布博客于 23 天前

329. Longest Increasing Path in a Matrix dfs+记忆化搜索

https://leetcode.com/problems/longest-increasing-path-in-a-matrix/
原创
21阅读
0评论
0点赞
发布博客于 23 天前

LFU缓存结构设计

题目描述一个缓存结构需要实现如下功能。set(key, value):将记录(key, value)插入该结构 get(key):返回key对应的value值但是缓存结构中最多放K条记录,如果新的第K+1条记录要加入,就需要根据策略删掉一条记录,然后才能把新记录加入。这个策略为:在缓存结构的K条记录中,哪一个key从进入缓存结构的时刻开始,被调用set或者get的次数最少,就删掉这个key的记录;如果调用次数最少的key有多个,上次调用发生最早的key被删除这就是LFU缓存替换算法。实现
原创
40阅读
0评论
0点赞
发布博客于 24 天前

求平方根

题目描述实现函数int sqrt(int x).计算并返回x的平方根(向下取整)示例1输入2返回值1题目链接:https://www.nowcoder.com/practice/09fbfb16140b40499951f55113f2166c?tpId=117&tqId=37734&rp=1&ru=%2Fta%2Fjob-code-high&qru=%2Fta%2Fjob-code-high%2Fquestion-ranking&.
原创
21阅读
0评论
0点赞
发布博客于 24 天前

设计LRU缓存结构

题目描述设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能set(key, value):将记录(key, value)插入该结构 get(key):返回key对应的value值[要求]set和get方法的时间复杂度为O(1) 某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的。 当缓存的大小超过K时,移除最不经常使用的记录,即set或get最久远的。若opt=1,接下来两个整数x, y,表示set(x, y)若opt=2,接下来一个整
原创
35阅读
0评论
0点赞
发布博客于 24 天前

大数加法

题目描述以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。(字符串长度不大于100000,保证字符串仅由'0'~'9'这10种字符组成)示例1输入"1","99"返回值"100"说明1+99=100 题目链接:https://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475?tpId=117&tqId=37842&rp=1&ru=%2Fta%2Fj
原创
10阅读
0评论
0点赞
发布博客于 25 天前

72. Edit Distance

Given two stringsword1andword2, returnthe minimum number of operations required to convertword1toword2.You have the following three operations permitted on a word:Insert a character Delete a character Replace a characterExample 1:Input:...
原创
13阅读
0评论
0点赞
发布博客于 25 天前

115. Distinct Subsequences

Given two stringssandt, returnthe number of distinct subsequences ofswhich equalst.A string'ssubsequenceis a new string formed from the original string by deleting some (can be none) of the characters without disturbing the remaining characters'...
原创
9阅读
0评论
0点赞
发布博客于 25 天前

221. Maximal Square

Given anm x nbinarymatrixfilled with0's and1's,find the largest square containing only1'sand return its area.Example 1:Input: matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]Output: 4...
原创
29阅读
0评论
0点赞
发布博客于 25 天前

91. Decode Ways

A message containing letters fromA-Zcan beencodedinto numbers using the following mapping:'A' -> "1"'B' -> "2"...'Z' -> "26"Todecodean encoded message, all the digits must be grouped then mapped back into letters using the reverse o...
原创
15阅读
0评论
0点赞
发布博客于 26 天前

980. Unique Paths III

980.Unique Paths IIIHard133288Add to ListShareOn a 2-dimensionalgrid, there are 4 types of squares:1represents the starting square. There is exactly one starting square. 2represents the ending square. There is exactly one ending square. 0r...
原创
7阅读
0评论
0点赞
发布博客于 1 月前

450. Delete Node in a BST二叉搜索树删除一个节点(巧妙的递归)

Given a root node reference of a BST and a key, delete the node with the given key in the BST. Return the root node reference (possibly updated) of the BST.Basically, the deletion can be divided into two stages:Search for a node to remove. If the node
原创
9阅读
0评论
0点赞
发布博客于 1 月前

230. Kth Smallest Element in a BST二叉搜索树的第k小节点

Given therootof a binary search tree, and an integerk, returnthekth(1-indexed)smallest element in the tree.Example 1:Input: root = [3,1,4,null,2], k = 1Output: 1Example 2:Input: root = [5,3,6,2,4,null,null,1], k = 3Output: 3...
原创
5阅读
0评论
0点赞
发布博客于 1 月前

226. Invert Binary Tree二叉树镜像

Invert a binary tree.Example:Input: 4 / \ 2 7 / \ / \1 3 6 9Output: 4 / \ 7 2 / \ / \9 6 3 1题目链接:https://leetcode.com/problems/invert-binary-tree//** * Definition for a binary tree node. *.
原创
10阅读
0评论
0点赞
发布博客于 1 月前

MYSQL中IN与EXISTS的区别

https://blog.csdn.net/weixin_39539399/article/details/80851817
转载
12阅读
0评论
0点赞
发布博客于 1 月前

1584. Min Cost to Connect All Points最小生成树时间复杂度对比

You are given an arraypointsrepresenting integer coordinates of some points on a 2D-plane, wherepoints[i] = [xi, yi].The cost of connecting two points[xi, yi]and[xj, yj]is themanhattan distancebetween them:|xi- xj| + |yi- yj|, where|val|den...
原创
12阅读
0评论
0点赞
发布博客于 1 月前

494. Target Sum

You are given a list of non-negative integers, a1, a2, ..., an, and a target, S. Now you have 2 symbols+and-. For each integer, you should choose one from+and-as its new symbol.Find out how many ways to assign symbols to make sum of integers equal...
原创
9阅读
0评论
0点赞
发布博客于 1 月前

437. Path Sum III

You are given a binary tree in which each node contains an integer value.Find the number of paths that sum to a given value.The path does not need to start or end at the root or a leaf, but it must go downwards (traveling only from parent nodes to chil
原创
4阅读
0评论
0点赞
发布博客于 1 月前

257. Binary Tree Paths找出所有的路径

Given a binary tree, return all root-to-leaf paths.Note:A leaf is a node with no children.Example:Input: 1 / \2 3 \ 5Output: ["1->2->5", "1->3"]Explanation: All root-to-leaf paths are: 1->2->5, 1->3题目链接:https:.
原创
6阅读
0评论
0点赞
发布博客于 1 月前

236. Lowest Common Ancestor of a Binary Tree最小祖先节点

Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.According to thedefinition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodespandqas the lowest node inTthat has bothpandqas d...
原创
9阅读
0评论
0点赞
发布博客于 1 月前

tcp协议和udp协议的使用场景

https://www.cnblogs.com/shoshana-kong/p/10616276.html一:什么是TCP(Transmission Control Protocol,传输控制协议)tcp是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的描述下这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是
转载
111阅读
0评论
0点赞
发布博客于 1 月前

简述cookies和session的区别

......
原创
34阅读
0评论
0点赞
发布博客于 1 月前

http和https的区别

。。。
转载
32阅读
0评论
0点赞
发布博客于 1 月前

能否由先序遍历和后序遍重建二叉树?

https://blog.csdn.net/qq_42214953/article/details/106286561答:不能,因为当树的节点存在单个叶子节点的时候,是不能确定树的结构的。举个例子:假如一棵树的先序遍历为:6,7,后续遍历为7,6,那么如下图两个结构都是满足条件的。...
转载
7阅读
0评论
0点赞
发布博客于 1 月前

815. Bus Routes坐公交车

题目链接:https://leetcode.com/problems/bus-routes/
原创
27阅读
0评论
0点赞
发布博客于 1 月前

1411. Number of Ways to Paint N × 3 Grid给格子涂色

题目链接:https://leetcode.com/problems/number-of-ways-to-paint-n-3-grid/
原创
28阅读
0评论
0点赞
发布博客于 1 月前

MySQL索引原理,一篇从头到尾讲清楚

原文链接:https://mp.weixin.qq.com/s/3tlhF7t97mQmhIRrZq21ww
转载
76阅读
0评论
0点赞
发布博客于 1 月前

数据库中表的几种JOIN方式

图解数据库中表的几种JOIN方式JOIN方式总结为4张图:1、左外连接--- left join2、右外连接 --- right join3、全外连接4、内连接 ---inner join
转载
155阅读
0评论
0点赞
发布博客于 1 月前

数据库事务基本要素ACID

https://blog.csdn.net/wei_gg/article/details/113115781数据库事务具有4个特征,分别是原子性、一致性、隔离性和持久性,简称事务的ACID特性;一、原子性(atomicity)一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作,这就是事务的原子性二、一致性(consistency)事务的执行不能破坏数据库数据的完整性和一致性,一个事务在执行之前和执行之后,数据库都必须处于一致性状态。如果数据库系统在运行过程中发生故
转载
60阅读
0评论
0点赞
发布博客于 1 月前

静态类型和动态类型以及静态绑定和动态绑定的总结

静态类型:对象在声明时采用的类型,在编译期既已确定; 动态类型:通常是指一个指针或引用目前所指对象的类型,是在运行期决定的; 静态绑定:绑定的是静态类型,所对应的函数或属性依赖于对象的静态类型,发生在编译期; 动态绑定:绑定的是动态类型,所对应的函数或属性依赖于对象的动态类型,发生在运行期;从上面的定义也可以看出,非虚函数一般都是静态绑定,而虚函数都是动态绑定(如此才可实现多态性)。举个例子:#include <bits/stdc++.h>using namespace std;
转载
45阅读
0评论
0点赞
发布博客于 1 月前

键盘敲入 A 字母时,期间发生了什么....

https://juejin.cn/post/6864158680028774407前言键盘可以说是我们最常使用的输入硬件设备了,但身为程序员的你,你知道「键盘敲入A 字母时,操作系统期间发生了什么吗」?那要想知道这个发生的过程,我们得先了解了解「操作系统是如何管理多种多样的的输入输出设备」的,等了解完这个后,我们再来看看这个问题,你就会发现问题已经被迎刃而解了。正文设备控制器我们的电脑设备可以接非常多的输入输出设备,比如键盘、鼠标、显示器、网卡、硬盘、打印机、音响等等,每个设备
转载
29阅读
0评论
0点赞
发布博客于 1 月前

深入探究:操作系统为什么要引入虚拟地址?

https://blog.csdn.net/xiaolongwoaini99/article/details/100105504在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。一 早期的内存分配机制在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大...
转载
69阅读
0评论
0点赞
发布博客于 1 月前

84. Largest Rectangle in Histogram直方图单调栈

https://leetcode.com/problems/largest-rectangle-in-histogram/
原创
21阅读
0评论
0点赞
发布博客于 1 月前

225. Implement Stack using Queues

Implement a last in first out (LIFO) stack using only two queues. The implemented stack should support all the functions of a normal queue (push,top,pop, andempty).Implement theMyStackclass:void push(int x)Pushes element x to the top of the stack...
原创
18阅读
0评论
0点赞
发布博客于 1 月前

232. Implement Queue using Stacks用2个栈实现一个队列queue

Implement a first in first out (FIFO) queue using only two stacks. The implemented queue should support all the functions of a normal queue (push,peek,pop, andempty).Implement theMyQueueclass:void push(int x)Pushes element x to the back of the qu...
原创
19阅读
0评论
0点赞
发布博客于 1 月前

B树、B-树、B+树、B*树

B树即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;如图:B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入右儿子;如果左儿子或右儿子的指针为空,则报告找不到相应的关键字;如果B树的所...
转载
34阅读
0评论
0点赞
发布博客于 1 月前

计算一个浮点数double的幂次方

这是我最开始的想法2 4 8 16这种快速得到结果。但是遇到A^7,这种7次方,我算到A^4之后,只能再乘以3次A。效率没有达到最优,因为面试的时候紧张。#include <iostream>using namespace std;double Pow(double base,int exp){ double ans=base; int cnt=1; while(2*cnt<exp) { cout<<"------
原创
101阅读
0评论
0点赞
发布博客于 1 月前

浮点数double在内存中的存储方式

C语言中浮点数在内存中的存储方式C语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?float在内存中的存储方式如下图所示:double在内存中的存储方式如下图所示:无论是单精度还是双精度在存储中都分为三个部分:1.符号位(Sign) : 0代表正,1代表为负2.指数位(Exponent):用于存储科学
转载
134阅读
0评论
0点赞
发布博客于 1 月前

C++异常怎么写

http://c.biancheng.net/view/422.html#include <iostream>using namespace std;int main(){ double m ,n; cin >> m >> n; try { cout << "before dividing." << endl; if( n == 0) throw -1; /
转载
14阅读
0评论
0点赞
发布博客于 1 月前

构造函数、析构函数的执行顺序

1) 构造函数顺序① 基类构造函数。如果有多个基类,则构造函数的调用顺序是某类在类派生表中出现的顺序,而不是它们在成员初始化表中的顺序。② 成员类对象构造函数。如果有多个成员类对象则构造函数的调用顺序是对象在类中被声明的顺序,而不是它们出现在成员初始化表中的顺序。③ 派生类构造函数。2) 析构函数顺序① 调用派生类的析构函数;② 调用成员类对象的析构函数;③ 调用基类的析构函数。作者:阿秀链接:https://zhuanlan.zhihu.com/p/349967745
转载
42阅读
1评论
0点赞
发布博客于 1 月前

寻找第K大

题目描述有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。示例1输入[1,3,5,2,2],5,3返回值2题目链接:https://www.nowcoder.com/practice/e016ad9b7f0b45048c58a9f27ba618bf?tpId=117&tqId=37791&companyId=665&rp=1&ru
原创
37阅读
0评论
0点赞
发布博客于 1 月前

C++ 求100的阶乘

https://blog.csdn.net/zl19890124/article/details/13293153
原创
76阅读
0评论
0点赞
发布博客于 1 月前

Paxos算法——问题与思考

如何浅显易懂地解说 Paxos 的算法? - GRAYLAMB的回答 - 知乎 https://www.zhihu.com/question/19787937/answer/107750652https://www.jianshu.com/p/db1aecd08490这个是更好的补充
转载
17阅读
0评论
0点赞
发布博客于 1 月前

(超重要)构造函数为什么不能为虚函数?析构函数为什么要虚函数?

1、 从存储空间角度,虚函数相应一个指向vtable虚函数表的指针,这大家都知道,但是这个指向vtable的指针事实上是存储在对象的内存空间的。问题出来了,假设构造函数是虚的,就须要通过 vtable来调用,但是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。2、 从使用角度,虚函数主要用于在信息不全的情况下,能使重载的函数得到相应的调用。构造函数本身就是要初始化实例,那使用虚函数也没有实际意义呀。所以构造函数没有必要是虚函数。虚函数的作用在于通过父类
转载
63阅读
0评论
0点赞
发布博客于 1 月前

成员初始化列表的概念,为什么用它会快一些?

成员初始化列表的概念在类的构造函数中,不在函数体内对成员变量赋值,而是在构造函数的花括号前面使用冒号和初始化列表赋值效率用初始化列表会快一些的原因是,对于类型,它少了一次调用构造函数的过程,而在函数体中赋值则会多一次调用。而对于内置数据类型则没有差别。举个例子:#include <iostream>using namespace std;class A{public: A() { cout << "默认构造函数A()" <
转载
81阅读
0评论
0点赞
发布博客于 1 月前

C++中类的数据成员和成员函数内存分布情况

C++类是由结构体发展得来的,所以他们的成员变量(C语言的结构体只有成员变量)的内存分配机制是一样的。下面我们以类来说明问题,如果类的问题通了,结构体也也就没问题啦。类分为成员变量和成员函数,我们先来讨论成员变量。一个类对象的地址就是类所包含的这一片内存空间的首地址,这个首地址也就对应具体某一个成员变量的地址。(在定义类对象的同时这些成员变量也就被定义了),举个例子:#include <iostream>using namespace std;class Person{pub
转载
50阅读
0评论
0点赞
发布博客于 1 月前

C++中必须用参数列表初始化的4种情况

https://blog.51cto.com/9233403/1968043在C++中,必须使用构造函的参数列表来初始化成员变量的4种情况如下:(1)成员变量类型为 const int m_nData;class test{ private: const int m_nData; public: test():m_nData(120){}};(2)类中有引用型变量 class test { private: int m_nData
转载
55阅读
0评论
0点赞
发布博客于 2 月前

328. Odd Even Linked List

Given a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.You should try to do it in place. The program should run in O(1) space complexity an
原创
10阅读
0评论
0点赞
发布博客于 2 月前

470. Implement Rand10() Using Rand7()

Given theAPIrand7()that generates a uniform random integer in the range[1, 7], write a functionrand10()that generates a uniform random integer in the range[1, 10]. You can only call the APIrand7(), and you shouldn't call any other API. Pleasedo no...
原创
10阅读
0评论
0点赞
发布博客于 2 月前

Redis中数据结构类型

https://blog.csdn.net/zouliping123456/article/details/112192202
转载
22阅读
0评论
0点赞
发布博客于 2 月前

Sql Or NoSql,看完这一篇你就懂了

https://www.cnblogs.com/xrq730/p/11039384.html声明:把原文搬过来是方便自己标红和做笔记,尊重原创。前言你是否在为系统的数据库来一波大流量就几乎打满CPU,日常CPU居高不下烦恼?你是否在各种NoSql间纠结不定,到底该选用那种最好?今天的你就是昨天的我,这也是写这篇文章的初衷。这篇文章是我好几个月来一直想写的一篇文章,也是一直想学习的一个内容,作为互联网从业人员,我们要知道关系型数据库(MySql、Oracle)无法满足我们对存储的所有要求,因此
转载
59阅读
0评论
0点赞
发布博客于 2 月前

128. Longest Consecutive Sequence最长连续序列

Given an unsorted array of integersnums, returnthe length of the longest consecutive elements sequence.Example 1:Input: nums = [100,4,200,1,3,2]Output: 4Explanation: The longest consecutive elements sequence is [1, 2, 3, 4]. Therefore its length i..
原创
23阅读
0评论
0点赞
发布博客于 2 月前

图平台技术及应用实践

https://blog.csdn.net/oppotech/article/details/103387841
转载
33阅读
0评论
0点赞
发布博客于 2 月前

239. Sliding Window Maximum 滑动窗口最大值deque双端队列使用

You are given an array of integersnums, there is a sliding window of sizekwhich is moving from the very left of the array to the very right. You can only see theknumbers in the window. Each time the sliding window moves right by one position.Return...
原创
17阅读
0评论
0点赞
发布博客于 2 月前

260. Single Number III

Given an integer arraynums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once. You can return the answer inany order.Follow up:Your algorithm should run in linea...
原创
18阅读
0评论
0点赞
发布博客于 2 月前

347. Top K Frequent Elements pair的使用

Given a non-empty array of integers, return thekmost frequent elements.Example 1:Input: nums = [1,1,1,2,2,3], k = 2Output: [1,2]Example 2:Input: nums = [1], k = 1Output: [1]Note:You may assumekis always valid, 1 ≤k≤ number of unique ...
原创
18阅读
0评论
0点赞
发布博客于 2 月前

37. Sudoku Solver数独

Write a program to solve a Sudoku puzzle by filling the empty cells.Asudoku solution must satisfyall ofthe following rules:Each of the digits1-9must occur exactlyonce in each row. Each of the digits1-9must occurexactly once in each column. E...
原创
11阅读
0评论
0点赞
发布博客于 2 月前

LeetCode 报错AddressSanitizer: SEGV on unknown address (pc 0x0000003445e3 bp 0x7ffdb86b99e0 sp 0x7ffdb

这种错误就是数组越界了。我这里例子里即使递归结束了,没有直接return,结果计算row和col的时候就越界了。,要把return ;取消注释
原创
386阅读
0评论
0点赞
发布博客于 2 月前

华为机试 Sudoku-Java

https://www.nowcoder.com/practice/78a1a4ebe8a34c93aac006c44f6bf8a1?tpId=37&tqId=21267&rp=1&ru=%2Fta%2Fhuawei&qru=%2Fta%2Fhuawei%2Fquestion-ranking&tab=answerKey
原创
47阅读
0评论
0点赞
发布博客于 2 月前

华为机试 放苹果

题目描述题目描述把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。数据范围:0<=m<=10,1<=n<=10。本题含有多组样例输入。输入描述:输入两个int整数输出描述:输出结果,int型示例1输入7 3输出8题目链接:https://www.nowcoder.com/practice/bfd8234bb5e84be0b493656e390.
原创
69阅读
0评论
0点赞
发布博客于 2 月前

华为机试 多线程

题目描述问题描述:有4个线程和1个公共的字符数组。线程1的功能就是向数组输出A,线程2的功能就是向字符输出B,线程3的功能就是向数组输出C,线程4的功能就是向数组输出D。要求按顺序向数组赋值ABCDABCDABCD,ABCD的个数由线程函数1的参数指定。[注:C语言选手可使用WINDOWSSDK库函数]接口说明:voidinit();//初始化函数voidRelease();//资源释放函数unsignedint__stdcallThreadFun1(PVOIDpM);//...
原创
42阅读
0评论
0点赞
发布博客于 2 月前

C++的四种类型转换reinterpret_cast/const_cast/static_cast /dynamic_cast

https://zhuanlan.zhihu.com/p/349967745
转载
30阅读
0评论
0点赞
发布博客于 2 月前

面试记录

2.221.数据为什么放文件里或者数据库里,放在内存中不行吗?2.说说C++的4种类型转换
原创
98阅读
0评论
1点赞
发布博客于 2 月前

什么时候用右值引用

https://www.jianshu.com/p/da15b7bb4c74void abc(int &a){ std::cout << a << std::endl;}void abc(int &&a){ std::cout << a << std::endl;}abc(1)a = 1abc(a)这里面1传给abc本来是需要拷贝一次的,现在是使用了第二个函数,就不需要了。第二个还
转载
50阅读
0评论
0点赞
发布博客于 2 月前

函数指针及其定义和用法,C语言函数指针详解

http://c.biancheng.net/view/228.htmlint Func(int x); /*声明一个函数*/int (*p) (int x); /*定义一个函数指针*/p = Func; /*将Func函数的首地址赋给指针变量p*/赋值时函数 Func 不带括号,也不带参数。由于函数名 Func 代表函数的首地址,因此经过赋值以后,指针变量 p 就指向函数 Func() 代码的首地址了。# include <stdio.h>int
转载
67阅读
0评论
0点赞
发布博客于 2 月前

NTP改进

老是忘计算的是传输速率延时,比如本来2者延时10秒,但是报文在出服务器m的cpu多了2秒,在s多了1秒,就变成13秒了,这个延时要去掉。m ---> s 13m<--- s -713 - (13+-7)/(1+2)=10适用范围是:报文的发送时间远远大于在线路上的传输时间...
原创
38阅读
0评论
0点赞
发布博客于 2 月前

Effective C++ 准则

02:尽量使用const,enum,inline替换#define编译器无法看见,或者在预处理过程就被移走了,没有进入记号表。const double AspectRatio = 1.653;03:尽可能使用constconst出现在星号左边,表示被指物是常量;如果出现在星号右边,表示指针自身是常量;出现在星号两边,表示被指物和指针两者都是常量。有些人习惯不同,以星号的左边右边为判断准则。...
原创
28阅读
0评论
0点赞
发布博客于 2 月前

linux网络编程基础api

socket系统调用,成功返回一个socket文件描述符,失败返回-1并设置errnobind命名套接字,成功返回0,失败返回-1并设置errnolisten监听socket,成功返回0,失败返回-1并设置errnoaccept从listen监听队列中接受一个连接,成功返回新的socket,失败返回-1,并设置errnoconnect建立连接,成功返回0,失败返回-1,并设置errnoshutdown关闭连接,成功返回0,失败返回-1,并设置errno服务端先建立一个socka.
原创
29阅读
0评论
0点赞
发布博客于 2 月前

select、poll、epoll之间的区别

https://www.cnblogs.com/aspirant/p/9166944.html(1)select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。(2)poll==>时间复杂度O(n)poll本质上和select没有区别,它将用户传入的数组拷
转载
60阅读
0评论
0点赞
发布博客于 2 月前

侯捷C++笔记

1.如果是类中只读函数后面没有加上const,这样如果变量定义成const,而函数没写成const,这样编译期会困惑。2.相同class的各个对象objects互为友元。3.构造函数初始化用:,比{}里面初始化效率更高。4.函数返回值写成void时,应该考虑链式赋值,如果是void就行不通了。5.拷贝赋值函数,需要检测自我赋值。6.一般函数的变量都有一个栈存放变量,函数(作用域)结束内存自动释放,但是new是获取heap,用完自己释放空间。static变量直到程序结束生命周期才会结束
原创
57阅读
0评论
0点赞
发布博客于 2 月前

华为机试 字符串加密

题目描述有一种技巧可以对数据进行加密,它使用一个单词作为它的密匙。下面是它的工作原理:首先,选择一个单词作为密匙,如TRAILBLAZERS。如果单词中包含有重复的字母,只保留第1个,其余几个丢弃。现在,修改过的那个单词属于字母表的下面,如下所示:ABCDEFGHIJKLMNOPQRSTUVWXYZTRAILBZESCDFGHJKMNOPQUVWXY上面其他用字母表中剩余的字母填充完整。在对信...
原创
71阅读
0评论
0点赞
发布博客于 2 月前

华为机试 蛇形矩阵

题目描述蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。例如,当输入5时,应该输出的三角形为:136101525914481371211请注意本题含有多组样例输入。输入描述:输入正整数N(N不大于100)输出描述:输出一个N行的蛇形矩阵。示例1输入4输出1 3 6 102 5 94 87题目链接:https://www.nowcoder.com/practice/649b210ef44446e3b...
原创
38阅读
0评论
0点赞
发布博客于 2 月前

华为机试 图片整理

题目描述Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。本题含有多组样例输入。输入描述:Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。输出描述:Lily的所有图片按照从小到大的顺序输出示例1输入Ihave1nose2hands10fingers输出0112Iaadeeefghhinnnorsss
原创
26阅读
0评论
0点赞
发布博客于 2 月前

华为机试 整数与IP地址间的转换 二进制字符串转数字 区别stoi()

题目描述原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。举例:一个ip地址为10.0.3.193每段数字相对应的二进制数100000101000000000030000001119311000001组合起来即为:0000101000...
原创
25阅读
0评论
0点赞
发布博客于 2 月前

华为机试 密码截取 最长回文子串

题目描述Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),Cathcer的工作量实在是太大了,他只能向电脑高手求助,你能帮Catcher找出最长的有效密码.
原创
57阅读
0评论
0点赞
发布博客于 2 月前