自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode974:和可被 K 整除的子数组

给定一个整数数组 A,返回其中元素之和可被 K整除的(连续、非空)子数组的数目。示例:输入:A = [4,5,0,-2,-3,1], K = 5输出:7解释:有 7 个子数组满足其元素之和可被 K = 5 整除:[4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [0], [0, -2, -3], [-2, -3]提示:1 <= A.length <= 30000-10000 <= A[i] <=...

2020-06-01 00:05:42 164

原创 leetcode394:字符串解码

给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像3a或2[4]的输入。示例:s = "3[a]2[bc]", 返回 "aaabcbc".s = "3[a2[c]...

2020-05-31 23:57:04 156

原创 leetcode287:寻找重复数

给定一个包含n + 1 个整数的数组nums,其数字都在 1 到 n之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。只能使用额外的 O(1) 的空间。时间复杂度小于 O(n2) 。数组中只有一个重复的数字,但它可能不止重复出现一次。 public static int fi...

2020-05-31 23:50:56 151

原创 leetcode146:LRU缓存机制

运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字/值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。进阶:你是否可...

2020-05-31 23:41:12 93

原创 leetcode76:最小覆盖子串

给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字符的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明:如果 S 中不存这样的子串,则返回空字符串 ""。如果 S 中存在这样的子串,我们保证它是唯一的答案。 /** * 最小覆盖子串 * * @param s * @param t * @return */ public.

2020-05-31 23:29:45 136

原创 leetcode5:最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"/** * 最长回文子串 * @param s * @return */public static String longestPalindrome(String s) { int len = s.length(); String ans.

2020-05-31 23:17:10 142

原创 Linux内核学习总结

一、计算机是如何工作的博客地址:http://blog.csdn.net/u010856103/article/details/56846457通过课程学习,可以看出计算机的工作流程大致如下:1)以冯诺依曼体系为基础,依据存储程序的模型,一步步取出指令,自动执行; 2)eip(32位机器为例)存放当前指令地址,通过eip来寻找指令并执行; 3)一般情况下机器指令执行是顺序执行的,call、jmp

2017-04-22 14:39:15 276

原创 理解进程调度时机跟踪分析进程调度与进程切换的过程

一、实验(gdb跟踪分析一个schedule)使用gdb跟踪调试 调度器 Linux的进程调度器的主函数是schedule。在shedule函数中有两个重要变量:prev是当前正在使用CPU的进程;next是下一个将要使用CPU的进程。调度程序的一个很大的任务就是找到next。 schedule的主要工作可以分为两步。 ! 找到next 1、schedule()检查prev的状态。

2017-04-16 17:02:15 401

原创 Linux内核如何装载和启动一个可执行程序

一、实验过程1.打开控制台,进入Linux目录下,然后输入命令rm menu -rf 删除menu,然后输入命令Git clone https://github.com/mengning/menu.git 重新克隆一个menu,实验结果如图所示。 2.用test_exce.c 代替test.c 3.输入make rootfs对程序进行编译,并启动MENUOS,如图所示。 4.

2017-04-09 20:48:25 279

原创 分析Linux内核创建一个新进程的过程

陈涛 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”一、实验首先,进入实验楼环境,进入LinueKernel文件。 然后,删除menu,clone一份新的,再将test.c覆盖为fork.c,make rootfs。 进入menuOS,实现fork函数功能。 请来

2017-04-02 17:05:51 300

原创 Linux课程(五):分析system_call中断处理过程

陈涛+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000一、增加menu菜单功能1、修改menu,添加menu菜单程序 一个是c语言的getpid()的系统调用,一个是用汇编写的getpid()的系统调用。 2、利用makefile脚本,重新制作根文件镜像并且启动 3、运行两种命令行功能 二、分析系

2017-03-26 15:55:09 464

原创 扒开系统调用的三层皮(上)

一、系统调用机制系统调用的机制是靠软件中断实现的,首先,用户程序为系统调用设置参数。其中一个参数是系统调用编号。参数设置完成后,程序执行“系统调用”指令。x86系统上的软中断由int产生。这个指令会导致一个异常:产生一个事件,这个事件会致使处理器切换到内核态并跳转到一个新的地址,并开始执行那里的异常处理程序。此时的异常处理程序实际上就是系统调用处理程序,新地址的指令会保存程序的状态,计算出应该调用哪

2017-03-19 19:19:58 425

原创 Linux课程3:分析Linux内核的启动过程

陈涛 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ” 本次课程主要是使用gdb对start_kernel()函数进行跟踪调试。一、启动内核在实验楼下命令行输入来启动内核: cd LinuxKernel/ qemu -kernel linux-3.18.6/arch/x86/

2017-03-12 16:49:14 329

原创 linux内核分析:进程切换机制

“陈涛 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”这次作业主要运行一个小程序来演示linux内核对于进程切换的机制。这个小程序采用是时间轮转来切换不同进程(包括保存上下文和加载进程)一、mypcb.h—->关于进程控制块PCB的数据结构#define MAX_TASK_NUM

2017-03-05 17:55:47 689

原创 通过汇编代码来理解计算机是如何工作的

陈涛(sa16225028) + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000本次实验主要通过写一个c语言程序进行汇编,从而理解计算机是如何执行这些代码以及分析其堆栈的变化。一、在实验楼虚拟机上编写c语言代码 二、对其代码进行汇编 输入gcc –S –o main.s main.

2017-02-24 17:36:17 513

原创 《软件工程(C编码实践篇)》小结

陈涛 (SA16225028) 《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006课程实验内容列表实验一:编写一个hello world的小程序     实验报告:https://www.shiyanlou.com/courses/reports/1243967实验二:命令行菜单小程序

2016-11-19 15:43:30 311

原创 幻象迷宫

Description幻象迷宫可以认为是无限大的,不过它由若干个N*M的矩阵重复组成。矩阵中有的地方是道路,用'.'表示;有的地方是墙,用'#'表示。rainbow和freda所在的位置用'S'表示。也就是对于迷宫中的一个点(x,y),如果(x mod n,y mod m)是'.'或者'S',那么这个地方是道路;如果(x mod n,y mod m)是'#',那么这个地方是墙。rain

2013-11-06 14:03:58 948

原创 乌龟棋

小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。 乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一 的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。…… 1 2 3 4 5 ……N 乌龟棋中M张爬行卡片,分成4种不同的类型(M张卡片中不一定包含所有4种类型 的卡片,见样例),每种类型的卡片上分别标有1、2、3、4四个数字之一,表示使用这种卡 片

2013-09-08 21:26:09 734

原创 巧克力

巧克力 Time Limit:4000MS  Memory Limit:65536K  Description 布欧可以把人变成巧克力吃了来增加他的能量,也有可能减少。现在布欧变了n*m个巧克力,并把巧克力排成一个n*m的矩形,现在布欧想选择一个子矩形,把这个子矩形吃了来增加他的能量,可他不知道选哪个才能使他的能量增加值p最大,布欧也可以选择一个都不吃,这样p = 0。现在

2013-07-18 10:52:38 680

原创 三角形的个数

Problem A. TrianglesInput le: stdinOutput le: stdoutTime limit: 2 secondsYou are given a gure consisting ofnpoints in a 2D-plane and m segments connecting some of them.We guarantee that an

2013-07-13 16:11:36 655

原创 ZZY的爱好

ZZY的爱好   描述   ZZY爱足球~~爱音乐~~爱日剧~~爱电影~~爱A题~~爱萌妹~~总之ZZY喜欢做很多事情~~而且ZZY希望在这些爱好中能收获一些东西~~但是并不是所有爱好对所有目标都是起积极作用的..ZZY十分的困惑..于是ZZY列了下自己想获得的收获并且给每个目标设立了最小要达到的权值...并且给自己的爱好对每个收获目标进行了评值..这个值若是负则代表不利于获得某个收获~~

2013-07-13 15:39:31 684

空空如也

空空如也

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

TA关注的人

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