自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 1326. 灌溉花园的最少水龙头数目----cpp解法思路

解法一:贪心 思路:每次选一个区间,区间右端可以覆盖当前需要覆盖的最右端,同时该区间能覆盖的最左侧点索引最小。 代码 #include<iostream> #include<vector> #include<map> #include<algorithm> using namespace std; //用于sort函数排序,先根据区间右端排序,再根据区间左端排序 static bool cmp(vector<int>& pre, vec

2020-06-18 22:18:28 309

原创 叶值的最小代价生成树-c++解题思路

解法一 暴力法 #####思路:递归,暴力求解 #include<iostream> #include<vector> #include<algorithm> using namespace std; int mctFromLeafValues(vector<int>& arr) { int len = arr.size(); if(len == 1 || len == 0){ return 0; }

2020-06-18 11:04:54 281

原创 935. 骑士拨号器--c++解题方法二

935. 骑士拨号器 思路:将0-9分为四个部分:{1,3,7,9},{4,6},{2,8},{0} 代码 #include<map> #include<vector> #include<iostream> using namespace std; //骑士跳“日” long M = 1e9 + 7; //{1,3,7,9},{4,6},{2,8},{0} int knightDialer(int N) { if(N == 1){ retur

2020-06-17 17:34:44 213

原创 骑士拨号器-c++解题思路

骑士拨号器-c++解题思路 1.暴力法 思路:每一个号码,是由上面一轮的某个或者某几个号码,通过跳“日”得到的。 代码: #include<map> #include<vector> #include<iostream> using namespace std; //骑士跳“日” long M = 1e9 + 7; int knightDialer(int N) { //N等于1,即只有一步时 if(N == 1){ return .

2020-06-17 16:37:58 222

原创 leetcode刷题----600. 不含连续1的非负整数

1、题目 2、思路与解法 先将整数num转换为二进制表示,存入一个向量binaryNum中(存的是二进制表示的逆序)。 2.1、递归解法(超时了) 思路:先将num的二进制逆序表示转换为正常的二进制表示。然后从头开始遍历binaryNum向量,这是需要三个变量辅助记录当前的状态和之前的状态,index表示当前遍历到的向量中的元素的下标,flag表示前面是否有将1变为0,true表示有,false...

2019-05-02 15:13:01 653

原创 leetcode刷题----904.水果成篮

1.题目描述 2.思路 这题类似于求有两个字符的最长子串。 用一个向量lens记录下标为i的有两种水果的长度,最后输出lens中的最大值即可。 怎么求lens[i]的值呢?这里我们需要两个变量basket1,basket2记录水果的类型,两个变量index1,index2当出现第三种水果类型时可能需要切换的前两种水果的下标。 从左到右遍历tree数组,得到其中的一个元素tree[i]。 1.当...

2019-04-16 18:32:31 562

原创 leetcode刷题----406.根据身高重建队列

1.题目描述 2.思路 假设用一个向量存储所有的节点,节点的第一个值表示身高,节点的第二个值表示希望排的次序。 思路如下:先将所有节点排序,先按照身高排序,同样身高的按照次序排序。然后用一个map将各个身高的人数记录下来,要记录各个身高的人数是因为同样身高的人中我们先排次序靠后的人,再排次序考前的人,可能会导致次序考后的人的实际次序与期待次序不符,这时记录的某一身高下的人数就起作用了,只要将该节...

2019-04-16 14:09:15 402

原创 leetcode刷题----20.有效的括号

1.题目描述 2.思路 先给出两个错误的思路: 2.1将字符串s的前一半压入栈和后一半做对比。 bool isValid(string s) { int len=s.length(); if(len==0 || len%2==1) return false; int cir=len/2; stack<ch...

2019-04-15 23:25:33 155

原创 leetcode刷题之路----140.单词拆分II

@TOC**** 140.单词拆分II 1.题目描述 2.运行结果 3.源码 3.1第一次失败且复杂的尝试 思路:根据wordDict中的字符串去源字符串s头部开始查找,一旦找到,从s的头部删除找到的对应字符串,并用一个临时字符串finded保存已经匹配的字符串,重复前面步骤,如果源字符串s能删除完的话,说明找到了一种划分方法,将finded存入最终要返回的向量res中。 #include ...

2019-04-13 16:29:43 366

转载 分析进程创建、执行、切换以及可执行文件的加载

分析进程创建、执行、切换以及可执行文件的加载 447+原创作品转载请注明出处+https://github.com/mengning/linuxkernel/ 一、实验步骤及分析 进程描述 我们通过进程控制块来描述来描述进程,又称其为进程描述符,他提供了进程相关的所有信息,例如状态、进程双向链表管理、控制台、文件系统、内存管理、进程间通信等等。 struct task_struct { vola...

2019-03-30 17:04:40 202

转载 跟踪分析Linux内核5.0系统调用处理过程

学号447 实验出处:https://github.com/mengning/linuxkernel/ 实验要求 实验环境 虚拟机:virtual box 运行环境:ubuntu 16 环境配置 1.编译内核5.0 下载linux-5.0.2,解压,进入当前目录。 ./configure make make menuconfig 提示缺库的话,缺什么就安装什么。 2.制作根文件系统 m...

2019-03-23 13:24:00 182

转载 一个简单的时间片轮转多道程序

一个简单的时间片轮转多道程序 1.代码分析 首先上代码,代码主要有三个 my interrupt.c. mymain.c mypcb.h 最开始阅读mypcb.h #define MAX_TASK_NUM 4 #define KERNEL_STACK_SIZE 1024*2 # unsigned long /* CPU-specific state ...

2019-03-11 17:38:04 694

空空如也

空空如也

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

TA关注的人

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