自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

、思考致富的博客

一个菜菜菜菜鸟

  • 博客(67)
  • 资源 (5)
  • 收藏
  • 关注

原创 算法笔记---求n!中有多少个质因子p && 组合数

题目描述n!表示n的阶乘,并且有n!=1×2x…×n成立。求n!中有多少个质因子p。这个问题是什么意思呢?举个例子,6!=1×2×3×4×5×6,于是6!中有4个质因子2,因为2、4、6中各有1个2、2个2、1个2;而6!中有两个质因子3,因为3、6中均各有1个3。解题思路:遍历1~n中的每个数字,各个数字有多少个p因子,然后加起来即可//求n!中有多少个质因子pint cal(int...

2020-03-31 16:09:47 748

转载 操作系统---PV操作

1.PV原语的含义P操作和V操作是不可中断的程序段,称为原语。PV原语及信号量的概念都是由荷兰科学家E.W.Dijkstra提出的, 其基本思路是用一种新的变量类型(semaphore)来记录当前可用资源的数量。信号量sem是一整数,sem大于等于零时代表可供并发进程使用的资源实体数,但sem小于零时则表示正在等待使用临界区的进程数。P原语:P是荷兰语Proberen(测试)的首字母。为阻...

2020-03-30 16:59:56 1429

原创 操作系统---文件的空闲管理

文件存储空间的管理实质上是一个空闲块的组织和管理问题,它包括空闲块组织,空闲块的分配和空闲块的回收等几个问题。空闲区表法  空闲表法属于连续分配方式。它与内存管理中的动态分区分配方式相似。  将外存空间上一个连续未分配区域称为“空闲区”。操作系统为磁盘外存上所有空闲区建立一张空闲表,每个表项对应一个空闲区,空闲表包含“序号,第一空闲盘块号,空闲盘块数”等信息。它适用于连续文件结构。 ...

2020-03-30 16:50:24 2086 1

原创 算法笔记---大整数

题目描述对一道A+B的题目,如果A和B的范围在int范围内,那么相信大家很快就能写出程序。但是如果A和B是有着1000个数位的整数,恐怕就没有办法用已有的数据类型来表示了,这时就只能老实去模拟加减乘除的过程。解题思路:使用数组来存储整数字符串,然后低位存放低位,高位存放高位在进行大整数加减运算的时候,若出现负数,则在最后输出的时候,添加负号即可#include<iostream&...

2020-03-29 20:27:30 144

原创 操作系统---银行家算法

银行家算法(避免死锁):死锁:如何避免死锁​如果一组进程中的每一个进程都在等待仅由该组进程中的其他进程才能引发的事件,那仫该组进程就是死锁的。产生死锁的必要条件:互斥条件:一个资源每次只能被一个线程使用。请求与保持条件:一个线程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件:线程已获得的资源,在未使用完之前,不能强行剥夺。循环等待条件:若干线程之间形成一种头尾相接的循环等待...

2020-03-29 20:15:49 481

原创 操作系统---高响应比优先调度算法实例

高响应比优先调度算法:该算法实际上是一种动态优先调度算法,它以相应比作为作业或进程的动态优先权,其目的是既照顾短作业,又考虑到作业的等待时间,使长作业不会长期等待;但每次调度前,都要进行响应比计算,会增加系统开销。1、响应比 = 响应时间 / 要求服务时间 = (等待时间 + 要求服务时间) / 要求服务时间2、作业周转时间=完成时间-提交时间3、作业带权周转时间=周转时间 / 运行时间...

2020-03-28 19:01:15 8273 3

转载 OS中常用的调度算法总结

一、常见的批处理作业调度算法先来先服务调度算法(FCFS):就是按照各个作业进入系统的自然次序来调度作业。这种调度算法的优点是实现简单,公平。其缺点是没有考虑到系统中各种资源的综合使用情况,往往使短作业的用户不满意,因为短作业等待处理的时间可能比实际运行时间长得多。短作业优先调度算法(SPF): 就是优先调度并处理短作业,所谓短是指作业的运行时间短。而在作业未投入运行时,并不能知道它实...

2020-03-28 18:40:59 378

原创 算法笔记---质因子分解

题目描述所谓质因子分解是指将一个正整数n写成一个或多个质数的乘积的形式,例如6=2×3,8=2×2×2,180=2×2×3×3×5。或者我们也可以写成指数的形式,例如6=2x3,8=2^3。解题思路:先求出素数表然后分别对输入的n进行取余,若等于0,则进行循环累加该因子的个数。#include<iostream>using namespace std;const in...

2020-03-28 16:27:55 455

原创 算法笔记---数素数

题目描述令P表示第i个素数,现任意给两个正整数M≤N≤10,请输出PM到P的所有素数。输入格式:输入在一行中给出M和N,其间以空格分隔。输出格式:输出从PM~PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。样例:输入:5 27输出:11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8...

2020-03-27 20:57:32 154

原创 算法笔记---最大公约数和最小公倍数

最大公约数:正整数a与b的最大公约数是指a与b的所有公约数中最大的那个公约数,例如4和6的最大公约数为2,3和9的最大公约数为3。一般用gcda,b)来表示a和b的最大公约数。求解最大公约数常用欧几里得算法(即辗转相除法)。//最大公约数int gcd(int a,int b) { if (a < b) { int temp = a; a = b; b = temp;...

2020-03-26 20:15:05 274

原创 算法笔记---说反话

题目描述给定一句英语,要求编写程序,将句中所有单词按颠倒顺序输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子测试样例:输入:Hello World Here...

2020-03-26 17:50:40 189

原创 算法笔记---回文串

题目描述读入一串字符,判断是否是“回文串”。“回文串”是一个正读和反读都一样的字符串,比如“ level”或者“noon”就是回文串。输入格式:一串字符串,长度不超过255输出格式:如果是“回文串”,输出“YES”,否则输出“NO”。样例:输入:12321输出:YES#include<iostream>using namespace std;#include...

2020-03-26 12:30:01 185

原创 算法笔记---D进制的A+B

题目描述输入两个非负十进制整数A和B (<=2^30 - 1)以及D(进制数),输出A+B的D(1<=D<=10)进制数输入格式:在一行中依次给出三个整数A、B和D(进制数)输出格式:A+B的D进制数样例:输入:123 456 8输出:1103解题思路:先把A+B的十进制求得,进而转换为D进制,可以使用除基取余来实现求D进制#include<io...

2020-03-26 12:08:57 257

原创 算法笔记---日期处理

题目描述有两个日期,求两个日期之间的天数,如果两个日期之间是连续的,则规定它们之间的天数为2天输入格式:有多组输入格式,每组数据有两行, 分别表示两个日期,形式为YYYYMMDD输出格式:每组数据输出一行,即生日差值。解题思路:需要考虑到闰年和平年。可提前定义一个二维数组表示闰年和平年#include<iostream>using namespace std;...

2020-03-24 16:39:43 177

原创 LeetCode22---括号生成

题目描述给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]解题思路:使用回溯+递归思想实现还需要剪枝,因为如果左括号少于右括号的话,那么组成的括号是无效的//item表示组成的括号字符...

2020-03-11 14:37:29 83

原创 LeetCode40---组合总和Ⅱ

题目描述给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例1:输入: nums= [10,1,2,7,6,1,5], target = 8,所求解集为:[ [...

2020-03-10 16:31:09 135

原创 LeetCode90---子集Ⅱ

题目描述给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[ [2], [1], [1,2,2], [2,2], [1,2], []]解题思路:使用递归+回溯思想来解决该题的解决思想与LeetCode78—子集类似,只需要先将给定数组从小到大排序,然后使用se...

2020-03-10 15:48:38 169

原创 LeetCode78---子集

题目描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]解题思路:1、使用递归+回溯思想解决对于每一个数字,都有选择组成集合或者不选择那么...

2020-03-10 15:44:15 141

原创 LeetCode452---用最少数量的箭引爆气球

题目描述在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了。开始坐标总是小于结束坐标。平面内最多存在104个气球。一支弓箭可以沿着x轴从不同点完全垂直地射出。在坐标x处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤...

2020-03-10 12:10:40 304

原创 LeetCode45---跳跃游戏Ⅱ

题目描述给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。解题思路:使用贪心思想。题目...

2020-03-09 17:48:15 210

原创 LeetCode55---跳跃游戏

题目描述给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你...

2020-03-09 17:00:24 134

原创 LeetCode402---移掉K位数字

题目描述给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且 ≥ k。num 不会包含任何前导零。示例1:输入: num = "1432219", k = 3输出: "1219"解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。示例2:输入: num = "10200"...

2020-03-09 12:57:18 135

原创 LeetCode376---摆动序列

题目描述如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的...

2020-03-08 20:31:24 248

原创 练习---计算最少钞票的数量

题目描述有1元、5元、10元、20元、100元、200元的钞票无穷多张,现在使用这些钞票支付x元,最少需要多少张?例如x = 628元最佳支付方法:3张200元,1张20元,1张5元,3张1元,共8张。解题思路:使用贪心思想,每次选取最大面额的钞票,这样保证使用最少的张数//贪心算法 计算钞票void test2() { int RMB[] = { 200,100,20,10,...

2020-03-08 20:20:22 1410

原创 LeetCode455---分发饼干

题目描述假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你可以假设胃口值为正...

2020-03-08 19:48:41 78

原创 剑指offer---剪绳子

题目描述给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],…,k[m]。请问k[0]xk[1]x…xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。输入描述:输入一个数n,意义见题面。(2 <= n <= 60)例如:...

2020-03-08 16:02:37 83

原创 剑指offer---滑动窗口的最大值

题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5...

2020-03-07 19:50:09 138

原创 剑指offer---正则表达式匹配

题目描述请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配解题思路:这道题比较难,需要考虑较多的情况,参考的好几位牛客网大神的思路,这里总结一下:/* ...

2020-03-07 16:41:55 127

原创 剑指offer---字符串的排列

题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。解题思路:每次取一个字符作为起始字符,剩下的字符全排列,可以看出,这是一个递归的过程。即剩下的字符为一个新的字符,然后全排列。...

2020-03-07 15:10:11 110

原创 剑指offer---数组中的逆序对

题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范围: 对于%50的数据,size<=10^4 对于%75的数据,size<=10^5 对于%100的数据...

2020-03-06 16:53:49 135

原创 剑指offer---把数组排成最小的数

题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。解题思路:将数组中的所有数字转换为字符串,然后进行升序排列static bool cmp(int num1,int num2){//如32和321 32321 > 32132 string s...

2020-03-06 15:33:26 86

原创 剑指offer---扑克牌顺子

题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的...

2020-03-06 14:31:40 109

原创 剑指offer---构建乘积数组

题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)解题思路:假如求i = 5的时候,B数组中B[5]的值即B[...

2020-03-06 13:55:01 129

原创 剑指offer---求1+2+3+...+n

题目描述求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。解题思路:使用递归来实现,但是递归需要有出口条件,而题目中不允许使用判断语句可以使用与运算(&&)来实现,即若与运算前面的值为假,则不会判断后面的值(与运算短路)class Solution {public: int ...

2020-03-06 13:34:24 108

原创 剑指offer---表示数值的字符串

题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。解题思路:该题判断条件比较多,所以需要格外小心可以设置三个标志位:sign表示是否存在+或者-decimal表示是否存在小数点has...

2020-03-06 11:49:29 96

原创 剑指offer---和为S的连续正数序列

题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输出描述:输出所有和为S的连续正数序列。序...

2020-03-05 22:26:55 71

原创 剑指offer---和为S的两个数字

题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。解题思路:因为数组是排序的数组,所以设置两个指针,一个指向数组的起始位置,一个指向数组的结束位置。当两个指针指向的数字之和为S时,此时就是两个数的乘积最小的时候。考虑数组中有负数的情况,此时也是最...

2020-03-05 21:59:20 962

原创 剑指offer---把字符串转换为整数

题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0示例:输入:+2147483647 1a33输出:2147483647 0解题思路:该题需要注意字符串首字母为’+’,’-’,字母...

2020-03-05 21:09:00 119

原创 剑指offer---第一个只出现一次的字符

题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).解题思路:利用辅助数组存放每次出现字符的次数,然后遍历字符串,第一个字符个数等于1的即为题目。该题与剑指offer—字符流中第一个不重复的数字剑指offer—数组中的重复数字解题思想类似,都是计数排序的思想。int...

2020-03-05 19:31:23 98

原创 剑指offer---字符流中第一个不重复的数字

题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。解题思路:定义一个128的数组,然后用计数排序的思想,每次遍历一个字符,就在对应数组中++;然后判断辅助数组...

2020-03-05 18:58:59 136

爬取简书文章.zip

使用Scrapy+ Selenium+ChromeDriver爬取简书所有文章,然后存储到mysql数据库中,作为爬虫的练习。当然也可以用这些文章进行数据分析等等。 该压缩包有项目的完整源码和数据库的sql文件。读者可以直接使用。

2020-07-08

百度脑图---离散数学.km

百度脑图---离散数学思维导图,帮助梳理离散数学层次及其知识点,快速理清离散数学的脉络和框架。对学习离散数学很有帮助。同时有助于考研学子和本科阶段学习。

2020-05-13

百度脑图-操作系统框架.km

百度脑图---操作系统思维导图,帮助梳理操作系统层次及其知识点,快速理清操作系统的脉络和框架。对学习操作系统很有帮助。同时有助于考研学子学习。

2020-05-12

百度脑图-计算机网络框架.km

百度脑图---计算机网络思维导图,帮助梳理计算机网络层次及其知识点,快速理清计算机网络的脉络和框架。对学习计算机网络很有帮助。

2020-05-11

OCR文字识别.rar

OCR文字识别,截图快速识别文字,可以翻译,转换,直接粘贴 程序较小,直接运行就行。 可保留原始格式,提供图像文字识别,提取图片文字,pdf文字识别,扫描文件识别服务等。

2020-04-17

空空如也

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

TA关注的人

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