自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 读书笔记——计算机网络CN
原力计划

目录第一章概述1.1 两个基本特点1.2 谁能够让你连接到网络?1.3 互联网标准是什么?1.4 互联网边缘的两个主机如何通信?1.5 两台主机是如何交换数据的?1.6 计算机网络的分类1.7 相关性能指标1.8 计算机网络体系结构1.8.1 分层的好处:1.8.2 五层体系结构1.8.3 协议与...

2020-05-24 09:10:42 63 0

原创 Algorithm:十大经典排序算法C++实现及总结
原力计划

#include <iostream> #include <vector> #include <algorithm> using namespace std; //1、Bubble Sort 冒泡排序 void bubbleSort(int a[], int ...

2020-05-10 13:48:57 95 0

原创 读书笔记——心理学之影响力
原力计划

目录1. 作者介绍2. 影响力的武器——武装自己3. 互惠——给予、索取、再索取4.承诺和一致——脑子里的怪物5.社会认同——脑子里的怪物6.喜好——友好的窃贼7.权威——教化下的敬重8.稀缺——数量少的说了算9. 尾声——即时的影响力 1. 作者介绍 本书《影响力》作者:罗伯特·西奥迪尼(Rob...

2020-05-09 22:14:45 321 0

原创 读书笔记——计算机组成原理
原力计划

目录第一章 计算机系统概述1.1 计算机硬件的发展1.2 计算机的分类和发展方向1.3计算机系统层次结构1.3.1冯诺依曼体系结构1.3.2 计算机的功能部件1.3.3 三个级别的语言1.3.4 计算机的工作过程1.4 计算机的性能指标第二章 数据的表示和运算2.1 数制与编码2.2 定点数的计算...

2020-05-09 16:22:06 144 0

原创 面试题简答题——数据库相关汇总
原力计划

问题目录1. 存储过程与函数的区别2. primary key约束 与 unique 约束的区别3. 简述查询优化的步骤4. 数据库中常用的四种文件组织形式5. 为什么要对关系代数表达式进行优化6.文件系统为什么会存在数据冗余?数据冗余会导致哪两类问题? 1. 存储过程与函数的区别 视图是虚表,不...

2020-05-08 21:34:40 119 0

原创 读书笔记——数据库系统概论
原力计划

目录第一章 绪论1.1 数据库系统概述1.2 数据模型1.3 数据库系统的结构1.4 数据库系统的组成第二章 关系数据库第三章 关系数据库标准语言SQL第四章 数据库安全性第五章 数据库完整性第六章 关系数据理论第七章 数据库设计第八章 数据库编程第九章 关系查询处理和查询优化第十章 数据库恢复技...

2020-05-07 13:54:22 270 0

原创 读书笔记——计算机基础之操作系统
原力计划

目录第一章 计算机系统概述1.1 操作系统的基本概念1.1.1 操作系统的概念1.1.2 操作系统的特征1.1.3 操作系统的目标和功能1.2 操作系统的发展与分类1.3 操作系统的运行环境1.3.1 操作系统的运行机制1.3.2 中断和异常1.3.3 系统调用1.4 操作系统的体系结构1.5 N...

2020-05-05 10:13:41 440 0

原创 Leetcode每日一题:104.maximum-depth-of-binary-tree(二叉树的最大深度)

思路:这连续的几道题几乎都是用递归的思想,从结点root开始,我就设定一个count和一个max, 左孩子不空,就root->left,count++,继续遍历,右孩子不空,就root->right,count++继续遍历,如果遍历到某个叶子节点时(左右孩子都为空),就判断count与...

2020-06-02 21:28:43 10 0

原创 Leetcode每日一题:101.symmetric-tree(对称二叉树)

思路:这道题的递归思路比上一道题(100-相同的数)难想到一些;简单地说把它分解成子问题就是,结点A的左孩子要与结点B的右孩子对称,结点A的右孩子要与结点B的左孩子对称; class Solution { public: bool isSymmetric(TreeNode* root) ...

2020-05-31 00:31:07 33 0

原创 Leetcode每日一题:100.same-tree(相同的树)

思路:这题首先想到了递归,如果当前p,q的值相等,那么只需比较它们的左子树和右子树,把问题分解成子问题,这样循环比较下去,当两者都是NULL的时候,返回true即可; 这里要注意边界条件: 第1,比较的两个结点仅有一个为NULL时,说明不相同,返回false; 第2,如果两个结点都是NULL,返回...

2020-05-29 19:57:22 29 0

原创 Algorithm:贪心策略之区间覆盖问题

Describe: 给定一个大区间1-T,以及n个小区间,要求用最少个数的小区间来覆盖大区间; Input: 第一行,输入n和T; 随后n行输入对应区间的起始终止坐标 Output: 输出覆盖区间1-T所需的最少区间个数 Example: Input: 3 10 1 7 3 6 6 12 Out...

2020-05-26 15:21:26 71 0

原创 Algorithm:贪心策略之区间选点问题

Describe:在数轴上标点,使得该点能够被区间覆盖,并要求对应区间最少覆盖Ki个点,求最少标多少个点保证满足要求,同一个位置不能重复; Input: 第一行输入区间个数 n 后面n行输入对应区间的起始坐标,终点坐标以及需覆盖点的个数 Output: 最少所需点的个数 Example: Inp...

2020-05-26 14:02:17 63 0

原创 Leetcode每日一题:88.merge-sorted-array(合并两个有序数组)

思路:最容易想到的就是归并排序的归并策略了,时间复杂度O(m+n),空间复杂度O(n);但是官网给出了另一个难以想到的妙招,就是反向归并,因为nums1最后面的n个元素是空的,所以从后端开始归并,每次选择较大的放入nums1的最后面; 奇怪的是,明明空间复杂度差了O(m),但为什么跑出来结果差不...

2020-05-24 21:05:35 69 0

原创 Leetcode每日一题:83.remove-duplicates-from-sorted-list(删除排序链表中的重复元素)

思路:两个指针pre和cur,用cur遍历链表,pre指向cur前面的非重复元素; class Solution { public: ListNode *deleteDuplicates(ListNode *head) { ListNode *pre=head; ...

2020-05-24 09:51:50 66 0

原创 Leetcode每日一题:70.climbing-stairs(爬楼梯)

思路:f(n)为走到第n个台阶的方法数,那么f(n)=f(n-1)+f(n-2);即走到第n-1个台阶然后走一步到达终点或者走到第n-2个台阶然后走两部到达终点; int climbStairs(int n) { if (n == 1) retur...

2020-05-22 17:07:39 51 0

原创 Leetcode每日一题:67.add-binary(二进制求和)

思路:利用二进制规则,选长度最长的为标准,从两个字符串尾部开始相加,对应位求和sum,之后置该位为sum%2,进位为sum/2; string addBinary(string a, string b) { int sizeA = a.size(), sizeB = b....

2020-05-21 15:03:49 34 0

原创 Algorithm:位运算的这些小技巧你知道吗?
原力计划

目录位运算的巧妙之处应用二进制中1的个数异或运算的巧妙之处性质应用交换两个变量的值不用判断语句,求整数绝对值如何找唯一成对的数? 位运算的巧妙之处 算法中,位运算可以巧妙运用在一下几个方面: 1、判断奇偶数 => x&1 2、判断数x中第k ( 从右至左 ) 位是1还是0 ​ 法...

2020-05-21 09:37:58 69 0

原创 Leetcode每日一题:66.plus-one(加一)

思路:先把最后一位数字加1,如果大于10,就置零,然后往前加1; vector<int> plusOne(vector<int> &digits) { int len = digits.size(); int now = l...

2020-05-18 08:48:24 76 0

原创 Leetcode每日一题:9.palindrome-number(回文数)

思路:正常取该数的每一位(从低位到高位),用一个long类型的变量res依次将这些位连接成整数;如果这个res与之前的数相等即为回文数;这里要注意负数,负数取余得到的也是负数; bool isPalindrome(int x) { if (x == 0) return true; lon...

2020-05-18 08:22:19 40 0

原创 Leetcode每日一题:58.length-of-last-word(最后一个单词的长度)

思路:从最后一个字符开始遍历,先用一个while跳过最后面所有的空格,再遍历非空格字符并计数,遇空格则停止; int lengthOfLastWord(string s) { int len = s.length(); if (len == 0) return 0; int count...

2020-05-17 08:24:56 38 0

原创 Leetcode每日一题:35.search-insert-position(搜索插入位置)

思路:有序查找首先想到二分;这里的话,再加一个判断:如果最后得到的下标对应的值小于target的话,说明target应该插入到这个下标的右边;否则,应该插入到该下标位置; class Solution { public: int searchInsert(vector<int>...

2020-05-17 08:10:53 32 0

原创 Leetcode每日一题:27.remove-element(移除元素)

刚刚考研复试完,并不怎么理想,自己认为学的很好的知识,其实并没有那么好,更何况要求你口头表述出来;终归到底是该练习的没练习,该学精的没学精;从今天开始,攻克leetcode简单题->中等题->困难题,这是个阶梯性的过程,不要急于求成,塌下心来安心学习即可,日积月累之后终有收获; 本题思...

2020-05-16 15:50:05 82 0

原创 面试题——C++/C
原力计划

目录1. C++和C的区别2、static的作用3、C++中的四种cast转换4、C++/C中指针和引用的区别5、什么是野指针6、为什么对于会被继承的类,其析构函数必须是虚函数?7、函数指针8、C++中析构函数的作用9、静态函数和虚函数的区别10、重载和覆盖11、对虚函数和多态的理解12、写个函数...

2020-05-13 13:06:55 279 0

转载 操作系统——Linux 虚拟内存和物理内存的理解

声明 转载自:Linux 虚拟内存和物理内存的理解 虚拟内存: 第一层理解 1.、每个进程都有自己独立的4G内存空间,各个进程的内存空间具有类似的结构; 2、一个新进程建立的时候,将会建立起自己的内存空间,此进程的数据,代码等从磁盘拷贝到自己的进程空间,哪些数据在哪里,都由进程控制表中的task_...

2020-05-12 14:54:45 79 0

转载 数据结构——B树和B+树的插入、删除图文详解

目录B树1.1B树的定义1.2B树的插入操作1.3B树的删除操作B+树2.1 B+树的定义2.2 B+树的插入操作2.3 B+树的删除操作 B树 1.1B树的定义 B树也称B-树,它是一颗多路平衡查找树。我们描述一颗B树时需要指定它的阶数,阶数表示了一个结点最多有多少个孩子结点,一般用字母m表示阶...

2020-05-12 09:55:20 113 0

原创 使用VScode + PicGo 写markdown 以及github图片加载不出的问题
原力计划

PicGo在vscode中相当于把你剪贴板图片上传到云端,然后提供给你一个访问它的链接; 图床即实现这样一个功能,为什么要这样呢? 如果直接复制图片,则是生成一个含本地文件路径名的链接,这只在当前可以看到此图片,如果将文本复制到别的地方就指挥显示此路径链接,而不可能出现图像,所以需要一个图床一样的...

2020-05-12 00:45:00 316 0

原创 面试题简答题——操作系统相关汇总
原力计划

目录1. TLB 、Cache 与 buffer 1. TLB 、Cache 与 buffer

2020-05-10 21:57:10 439 0

原创 Leetcode每日一题:54.spiral-matrix(螺旋矩阵)

思路:比较普通,就是四个for循环一次一层层遍历; vector<int> spiralOrder(vector<vector<int>> &matrix) { vector<int> res; if (matrix.si...

2020-05-06 09:51:06 24 0

原创 Leetcode每日一题:50.powx-n

思路:递归折半相乘 耗时 0-4ms之间吧 double fun(double x, int n) { if (n == 0) return 1; double mid = fun(x, n / 2); //注意不要写成 int mid;这样可能会导致强制转换从而...

2020-05-05 10:46:34 64 0

原创 Leetcode每日一题:44.wildcard-matching(通配符匹配)

方法一:动态规划 m,n分别为s,p字符串长度,dp[i][j]代表s前i个字符与p前j个字符是否匹配; dp[0][0] = true;两个字符串长度都为0,肯定是匹配的; dp[0][1] 到 dp[0][k] 为true :代表字符串前面有连续的k个’ * ‘,这些都是匹配的,因为 ’ * ...

2020-05-04 10:57:55 26 0

原创 Leetcode每日一题:53.maximum-subarray(最大子序和)

虽然是简单题,但思路还是挺巧妙地: 非递归实现 假设当前进行到 nums[cur],若前面地和为sum ,执行sum=sum+nums[cur] 小于0,将sum与sunMax比较,然后将sum置0,为什么要置0?因为前面的已经是负数了,-1 + a(a为任何数)肯定是小于a的,所以我们直接从下...

2020-05-03 10:16:16 30 0

原创 Algorithm:贪心策略之区间调度问题

Describe: 有n项工作,每项工作分别再si时间开始,在ti时间结束;对于每项工作,你都可以参与与否,如果选择参与,那么自始自终都必须全程参与;此外参加工作的时间段不能重复(即使是开始的瞬间和结束的瞬间的重叠也不允许); 你的目标是参与尽可能多的工作,那么最多能参与多少项工作呢? 1<...

2020-05-03 08:57:10 72 0

原创 Leetcode每日一题:49.group-anagrams(字母异位词分组)

这道题我认为题目没有写清楚,测试用例中两个完全相同的字符串也归为一组,然而从题意中我们会认为这两个字符串只需放入一个即可 解题思路: 方法1:利用hash + map 先用hash判断字符串是否相同 以及相同时该插入vector的位置 方法2:利用sort + map 先用sort排序字符串 ...

2020-05-02 11:32:22 28 0

原创 计算机相关概念

基本概念: SDK:(software develop kit 软件开发工具包)一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合,包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合等 Json:(JavaScript Object N...

2020-05-02 00:54:40 111 0

原创 Leetcode每日一题:42.trapping-rain-water(接雨水)

本人菜鸡,参照评论大佬得解;第一个容易理解,第二个动态规划 int trap(vector<int> &height) { int len = height.size(); if (len == 0) return 0; int ma...

2020-05-01 15:39:24 32 0

原创 Leetcode每日一题:41.first-missing-positive(缺失的第一个正数)

int firstMissingPositive(vector<int> &nums) { //遍历一次数组把大于等于1的和小于数组大小的值放到原数组对应位置,对于重复的元素,置0; //然后再遍历一次数组查当前下标是否和值对应,如果不对应那这个下标就是答案,否...

2020-04-30 11:27:02 29 0

原创 Leetcode每日一题:38.Count and Say(外观数列)

看题目着实难懂,评论老哥帮忙找答案,可以这么理解: 题目的意思是对序列前一个数进行报数,数列第一项为1,那第二项就报第一项的有1个1,输出11,然后第三项就在第二项的基础上报数,第二项是11,第三项不就是2个1么,然后输出21 string countAndSay(int n) { st...

2020-04-30 10:22:12 32 0

原创 Leetcode每日一题:202.happy-number(快乐数)

bool isHappy(int n) { if (n == 1) return true; if (n == 0) return false; bool a[1000] = {false}; //recording array in...

2020-04-30 08:45:54 36 0

原创 Leetcode每日一题:1095.find-in-mountain-array(山脉数组中查找目标值)

思路:最多三次二分法:第一次先用二分法找出峰值,后两次依次对峰值左、右侧二分查找target

2020-04-29 21:16:36 32 0

原创 Leetcode每日一题:48.rotate-image(旋转图像)

思路: //旋转 void rotate(vector<vector<int>> &matrix) { int len = matrix.size(); for (int start = 0, end = len - 1; start < ...

2020-04-29 09:09:28 31 0

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