2 笔还是要动的

尚未进行身份认证

暂无相关简介

等级
TA的排名 12w+

LeetCode 234: 回文链表(快慢指针+反转链表)

回文链表请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?唉 好快 啊 为什么ListNode* reverseList(ListNode* head){ ListNode* pre =...

2020-04-01 11:58:12

LeetCode 62: 不同路径

一个机器人位于一个 m x n 网格的左上角 。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?示例 1:输入: m = 3, n = 2输出: 3解释:从左上角开始,总共有 3 条路径可以到达右下角。向右 -> 向右 -> 向下向右 -> 向下 -> 向右向...

2020-03-31 10:28:50

OS进程管理

进程管理进程和线程:一、进程、并发、pcb的概念二、线程三、进程控制3.1 进程切换3.2 进程创建3.3 进程加载3.4 进程等待和退出3.5 僵尸进程和孤儿进程(转载)3.6 其他进程控制的系统调用四、杂七杂八进程和线程:一、进程、并发、pcb的概念程序和进程程序:编译好的二进制文件,只占用磁盘空间。(死的)进程:活跃的程序 ,占用内存、cpu。能独立运行且是资源分配的基本单位。运...

2020-03-30 22:16:52

OS内存管理

OS内存管理一、内存管理(核心:逻辑地址和物理地址的映射)1. 连续内存分配2. 非连续内存分配2.1. 段式2.2. 页式2.3. 段页式二、虚拟存储2.1 覆盖2.2 交换2.3 虚拟存储2.4 页面置换算法2.5 抖动一、内存管理(核心:逻辑地址和物理地址的映射)操作系统内存管理的目标逻辑地址:启动后,OS逻辑划分物理内存。用户程序在运行的时候,只考虑逻辑地址,不用考虑物理地址。...

2020-03-30 22:11:24

Linux内核空间和用户空间

Linux内核空间和用户区间内存空间的划分:启动后,OS逻辑划分物理内存。用户空间:用户进程所在的内存区域。进程数据存放于用户空间系统空间:OS占据的内存区域。OS的数据都是存放于系统空间用户进程和系统进程的所有数据都在内存中,分开存放,防干扰。用户态:执行用户代码库函数,只能访问用户空间内核态:执行系统调用后,可以访问用户空间和内核空间用户态切换到内核态的3种方式中断:使CPU...

2020-03-27 12:46:17

计算机启动过程

计算机启动过程通电 -> 读取ROM(只读存储器,内置BIOS)-> BIOS硬件自检(POST) -> BIOS加载bootloader(一般位于硬盘中的第一个主引导扇区MBR(512字节)到内存指定位置0x7c000)-> bootloader 根据分区表,找到激活主分区 -> 读取激活分区的第一个扇区(卷引导记录VBR,存有OS地址) -> 加载OS -...

2020-03-27 10:15:01

LeetCode 102: 二叉树的层次遍历(DFS,BFS,双队列)

LeetCode 102: 二叉树的层次遍历给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[[3],[9,20],[15,7]]DFS 递归class Solution {...

2020-03-26 09:46:08

LeetCode 739:每日温度(栈)

LeetCode 739:每日温度(栈)根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围...

2020-03-26 00:18:58

LeetCode 322:零钱兑换(动态规划)

LeetCode 322:零钱兑换(动态规划)给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amou...

2020-03-25 13:47:58

LeetCode 207:课程表(拓扑排序查DAG)

LeetCode 207:课程表(拓扑排序查DAG)题目:你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: t...

2020-03-24 17:02:47

Leetcode 96不同的二叉搜索树

Leetcode 96:不同的二叉搜索树给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 ...

2020-03-21 17:21:17

LeetCode 365:水壶问题(数学解)

LeetCode 365:水壶问题有两个容量分别为 x升 和 y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好 z升 的水?比如3升和 5升水壶,可以倒出 4 升水。数学表达:mx + ny = z,求整数解数学思路:根据贝祖公式,设c为x和y的最大公约数,则一定存在等式c = mx+ny,m和n为整数,并且mn < 0因此,z只要是最大公约数的倍数即可。...

2020-03-21 15:18:15

Leet Code 461:汉明距离(位运算)

Leet Code 461:汉明距离求两个整数二进制位数不同的个数快解int hammingDistance(int x, int y) { int xorresult=x^y; int count=0; while(xorresult!=0) { xorresult=xorresult&(xor...

2020-03-21 15:17:01

哈希表

Hash TableHashing:提供O(1)的时间复杂度完成增删改查的操作。情景假设:用电话号码做ID,存储联系人的信息。增删改查的速度可以多快?可以建立索引表,用电话号码做ID,存储信息的地址,这样速度可以化简到O(1).问题:消耗空间为O(m* 10 *n) ,m=地址空间,n=联系人数量,10=电话号码长度。想法:能否将电话号码长度缩小来减小空间代价?于是推出了哈希函数。哈希...

2020-03-15 12:37:39

动态规划(一)

动态规划(一)dynamic programming:此处的programming表示用的是表格法,非编程的意思 。类似于分治,通过组合子问题的解来解决原问题。分治将问题划分互不相交的子问题,递归求解子问题,并且将子问题的解结合起来,求得原解。而动态规划要求子子问题重叠。动态规划是递归的优化。当采用递归重复调用相同子问题时,就可以使用动态规划来解决。问题特征:overlapping su...

2020-03-14 21:33:43

图:BFS、DFS、CycleDetection、UnionFind、Kruskal、Prim、TopoSort、Kosaraju、Tarjan、Dijkstra、BF、Floyd、Johnson

图阿西,零、基本概念图的概念:顶点(Vertex),边(Edges),度(degree): 入度和出度indegree,outdegree有向无环图:DAG握手定理(无向图):一个聚会上,把每个人握手的次数相加必为偶数,也就是所有顶点的度加起来等于边数的两倍。图的分类有向图(Directed Graph):单箭头,顶点A,B: (A,B) != (B,A)无向图(Un-...

2020-03-10 17:43:13

树: unordered tree、Binary Search Tree、AVL、B Tree、Red Black Tree

文章目录树基本概念二叉树性质二叉树分类无序树的构建和遍历BinTree.h测试代码main.cppBST二叉查找树BSTree.hmain.cppAVL平衡二叉查找树:自平衡AVL树失衡的四种姿态LL : 右旋g:g的左孩子的左子树导致失衡RR : 左旋g:g的右孩子的右子树导致失衡LR : 左旋p+右旋g = RR+LLRL : 右旋p+左旋g = LL+RRAVL树的添加操作一、大致思路二、...

2020-02-14 13:31:55

折反射全景

全景成像全景成像PI:从一个视点获取水平方向一周360,垂直方向大到半球以上视场的多方向成像;立体成像:同一空间点在全向图中两次成像或在两幅全向图中分别成像全景立体成像技术:基于全景成像技术利用双目视觉原理获取全景立体信息全景成像VS立体成像: 全景成像是在一个视点对周围所有方向的场景成像,而立体成像需要两个或多个视点,在垂直于两视点连线的方向上获得的场景具有立体感,但在两视点连线方向上不...

2019-12-11 22:33:50

c++排序: 冒泡、选择、插入、归并、快速、堆排序、桶排序

排序github源码地址文章目录排序一、冒泡排序二、选择排序三、插入排序四、归并排序:左排右排合并五、快速排序:分区递归六、堆排序:堆头交换下树循环堆上树下树堆排序七、桶排序计数排序基数排序补充:应用归并排序:最小和&逆序对快速排序:荷兰国旗问题桶排序:计算数组排序后的相邻两数的最大差值综合排序最优解:先满足时间复杂度最优,再满足最小空间稳定性:相同元素在排序时的先后位置不变递归...

2019-12-04 17:31:37

链表写法

#include <iostream>using namespace std;class List;class Node {friend class List; // 将List类做成友元来访问Node的私有成员/*******************public: Node() { data = 0; next = nullptr; } ~Node(...

2019-10-29 20:08:11

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。