自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Leetcode解题之路(golang版)汇总

题号 题目名称 题目答案链接 1 两数之和(Two Sum) https://blog.csdn.net/myz123321/article/details/89975598 7 整数翻转(Reverse Integer) https://blog.csdn.net/myz123321...

2019-06-01 11:12:49

阅读数 69

评论数 1

原创 APUE读书笔记(21) 守护进程

一:守护进程   守护进程是一类生存周期较长的进程,一般在系统开启的时候产生,系统关闭的时候才销毁。守护进程在后台运行,帮助UNIX系统执行日常事务活动。 二:守护进程的特征   通过ps命令可以查看进程列表,可以展示进程号,父进程号等信息。父进程号为0的个进程一般为内核进程。内核进程的生命周期与...

2019-09-29 23:27:34

阅读数 6

评论数 0

原创 APUE读书笔记(20) 线程控制(下)

一:线程特定数据:   线程特定数据也称为线程私有数据,是存储和查询某个特定线程相关数据的一种机制。线程模型是可以共享进程中的一些数据,但是为什么又需要有线程特定数据呢?这主要基于两点:   第一:有时候需要维护基于每线程的数据。虽然线程id是一个整数且唯一,但是基于线程id作为数组的索引会有不够...

2019-09-23 00:03:24

阅读数 6

评论数 0

原创 APUE读书笔记(19) 线程控制(上)

第十二章 线程控制 一:线程限制:   Single Unix定义了一线线程操作的限制,和其他的限制一样,可以通过sysconf来查询。和其它的限制使用目的一样,为了应用程序的在不同操作 系统的可移植性。 一些限制:   PTHREAD_DESTRUCTOR_ITERATIONS: 销毁一个线程数...

2019-09-15 22:35:24

阅读数 2

评论数 0

原创 APUE读书笔记(18)线程

第十一章 线程 一:主要内容:   线程可以在单进程环境中执行多个任务,并且一个进程中的所有线程都可以访问该进程的组成部件,比如内存和文件描述符。多线程使得单个资源会被多个用户共享,所以同步机制在多线程中是至关重要的。 二:线程概念   典型的UNIX进程可以看成只有一个控制线程:一个进程在同一时...

2019-09-09 00:30:47

阅读数 10

评论数 0

原创 APUE读书笔记(17) 信号(下)

一:函数sigprocmask   一个进程的信号屏蔽字规定了当前阻塞而不能递送给该进程的信号集。调用函数 sigprocmask可以检测或更改 (或两者 ) 进程的信号屏蔽字。原型如下:   首先,如果oset是一个非空的指针,那么进程的当前信号屏蔽字通过oset返回。   其次,若set是一...

2019-08-25 21:29:57

阅读数 6

评论数 0

原创 APUE读书笔记(16) 信号(中)

一:可重入函数   简单的来说,当一个进程捕捉到了信号,那么这个进程将会执行该信号处理程序中的指令,这个是绝对的。但是我们可能会想到一个问题,假设该进程正在执行一些比较特殊的指令,比如malloc;这时进程捕获到了一个信号,该信号处理程序执行也为malloc,那么会发生什么?这很有可能会对进程造成...

2019-08-04 23:00:10

阅读数 6

评论数 0

原创 APUE读书笔记(15) 信号(上)

第十章 信号 一:主要内容:   信号属于软件中断,它提供了一种异步处理事件的方式。本章对信号机制进行综述,说明每一种信号的用法,然后分析早期实现的问题,之后说明解决问题的方法。 二:信号概念   每个信号都有名字,他们都是以SIG开头,信号在signal.h文件中被定义为正整数常量,并且不存在编...

2019-07-28 23:08:22

阅读数 7

评论数 1

原创 Leetcode解题之路(golang版):41. 缺失的第一个正数(First Missing Positive)

41. 缺失的第一个正数 给定一个未排序的整数数组,找出其中没有出现的最小的正整数。 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9,11,12] 输出: 1 说明: 你的算...

2019-07-23 21:48:03

阅读数 5

评论数 0

原创 Leetcode解题之路(golang版):5. 最长回文子串(Longest Palindromic Substring)

5. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "...

2019-07-21 22:35:40

阅读数 11

评论数 0

原创 APUE读书笔记(14) 进程关系(下)

一:会话   会话是一个或者多个进程组的集合,如下图中一个会话有三个进程组:   会话中的进程组通常是由shell中的管道(|)进行连接的,比如上图的安排可能是有如下命令形成的:p1 | p2 & p3 | p4 | p5,进程调用setsid函数可以建立一个新会话。   如果调用这个函...

2019-07-21 22:24:34

阅读数 4

评论数 0

原创 APUE读书笔记(13) 进程关系(上)

第九章 进程关系 一:主要内容:   进程之间具有关系,每个进程都会有一个父进程,当子进程退出时,父进程可以得到通知并能取得子进程的退出状态。 二:终端登录   对于BSD终端登录,当系统自举时(不清楚什么时自举),内核会创建ID为1的进程,也就是init进程。init进程使系统进入多用户模式,i...

2019-07-14 23:04:22

阅读数 10

评论数 0

原创 APUE读书笔记(12) 进程控制(下)

一:竞争条件   当多个进程都企图对共享数据进行处理,而最后的结果又取决于进程运行的顺序时,我们认为发生了竞争条件。父进程等待子进程返回可以使用wait函数,子进程等待父进程返回可以使用轮询的方式,每隔1s都去询问一次。但是这样浪费CPU时间,所以多个进程之间需要有某种形式的信号发送和接受的方式来...

2019-07-07 14:43:20

阅读数 21

评论数 0

原创 APUE读书笔记(11) 进程控制(中)

一:函数exit   进程有五种正常终止的方式和三种异常终止的方式。五种正常的退出方式为:   1.main中调用return,等效于调用exist   2.调用exit函数   3.调用_exit和_Exit函数。   4.进程的最后一个线程启动例程中调用return语句。   5.进程的最后一...

2019-06-30 23:14:56

阅读数 16

评论数 0

原创 APUE读书笔记(10) 进程控制(上)

第八章 进程控制 一:主要内容:   本章介绍UNIX系统的进程控制,包括创建新的进程,执行程序,和进程终止。 二:进程标识   进程是使用一个ID来进行标识的,应用程序有时候就把进程ID作为名字的一部分来创建一个唯一的文件名。进程ID是唯一的,但是ID却是可以复用的,为了保证新进程的ID不会和最...

2019-06-23 22:00:07

阅读数 17

评论数 0

原创 APUE读书笔记(9) 进程环境

第六章 进程环境 一:主要内容:   本章主要介绍进程环境,主要包括程序执行时,main函数的调用过程;命令行参数的传递;典型的存储空间的布局等等。 二:main函数   C程序从main函数开始执行,其原型为   其中argc为命令行参数的个数,argv是一个字符串指针数组,表示各参数内容。在...

2019-06-16 22:33:11

阅读数 11

评论数 0

原创 APUE读书笔记(8) 系统数据文件和信息

第五章 系统数据文件和信息 一:主要内容:   本章主要讲述UNIX系统中与系统正常运行有强烈关系的系统数据文件,比如系统口令文件,组文件等。 二:口令文件   口令文件包含如下字段:   口令文件在路径/etc/passwd中,并且是一哥ASCII文件,每一行包含上述字段,并且用冒号分隔。有两...

2019-06-09 22:33:34

阅读数 23

评论数 0

原创 APUE读书笔记(7) 标准IO库(下)

第五章 标准IO库(下) 一:每次一行IO   下面的两个函数提供每次输入一行IO的功能: char *fgets(char *restrict buf, int n, FILE restrict fd); char *gets(char *buf); 成功返回buf,失败返回NULL   这里...

2019-06-02 23:42:14

阅读数 9

评论数 0

原创 Leetcode解题之路(golang版):3. 无重复字符的最长子串(Longest Substring Without Repeating Characters)

3. 无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbb...

2019-06-02 15:00:20

阅读数 20

评论数 0

原创 Leetcode解题之路(golang版):2. 两数相加(Add Two Numbers)

2. 两数相加 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2...

2019-06-02 10:42:30

阅读数 24

评论数 0

原创 Leetcode解题之路(golang版):100. 相同的树(Same Tree)

100. 相同的树 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1 / \ / \ 2 3 2 3 ...

2019-06-02 10:07:19

阅读数 9

评论数 0

原创 Leetcode解题之路(golang版):88. 合并两个有序数组(Merge Sorted Array)

88. 合并两个有序数组 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)...

2019-06-02 10:06:04

阅读数 49

评论数 0

原创 Leetcode解题之路(golang版):83. 删除排序链表中的重复元素(Remove Duplicates from Sorted List)

83. 删除排序链表中的重复元素 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2->3->3 输出: 1->2->3 解法一: 没什么...

2019-06-02 10:04:54

阅读数 9

评论数 0

原创 Leetcode解题之路(golang版):70. 爬楼梯(Climbing Stairs)

70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输...

2019-06-01 10:51:02

阅读数 15

评论数 0

原创 Leetcode解题之路(golang版):69. x 的平方根(Sqrt(x))

69. x 的平方根 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842......

2019-06-01 10:14:36

阅读数 8

评论数 0

原创 Leetcode解题之路(golang版):67. 二进制求和(Add Binary)

67. 二进制求和 给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例 1: 输入: a = "11", b = "1" 输出: "100" 示例 2: 输入: a = "1...

2019-05-30 22:01:18

阅读数 85

评论数 0

原创 Leetcode解题之路(golang版):66. 加一(Plus One)

66. 加一 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。 示...

2019-05-28 22:20:10

阅读数 27

评论数 0

原创 Leetcode解题之路(golang版):58. 最后一个单词的长度(Length of Last Word)

58. 最后一个单词的长度 给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。 如果不存在最后一个单词,请返回 0 。 说明:一个单词是指由字母组成,但不包含任何空格的字符串。 示例: 输入: "Hello World" 输出: 5 解法一:调库函...

2019-05-28 22:18:47

阅读数 32

评论数 0

原创 Leetcode解题之路(golang版):53. 最大子序和(Maximum Subarray)

53. 最大子序和 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 进阶: 如果你已经实现复杂度为 ...

2019-05-28 21:31:26

阅读数 36

评论数 0

原创 APUE读书笔记(6) 标准IO库(上)

第五章 标准IO库(上) 一:主要内容:   本章主要讲述UNIX系统中标准IO库的实现,包括缓冲区的分配、流的概念、标准IO的效率等。 二:流和FILE对象   对于流来说,他又两种模式。我们先不说这两种模式是什么,先来讨论一下字符集。我们通常所使用的字符集为ANSI字符集,ANSI字符集相比较...

2019-05-26 23:10:29

阅读数 13

评论数 0

原创 golang中可变参数的使用:求最大值和最小值

golang中可以使用可变化的参数来声明函数,比如求一列数中的最大值或者是最小值,传入的参数个数是不固定的,这时就需要使用到可变参数。 一:可变参数的生命形式 可变参数的声明形式如下: func function(param ...type) type { } 具体到本文讲解的求最大值函数ma...

2019-05-22 10:25:14

阅读数 636

评论数 1

原创 APUE读书笔记(5) 文件和目录(下)

第四章 文件和目录(下) 十一:函数chown、fchown、fchownat和lchown   这几个函数都可用于更改文件的用户ID和组ID。原型如下: #include <unistd.h> int chown(const char *pathname, uid_t o...

2019-05-17 23:35:37

阅读数 13

评论数 0

原创 Leetcode解题之路(golang版):38. 报数(Count and Say)

38. 报数 报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被读作 "one 1" ("一个一") ,...

2019-05-14 14:21:40

阅读数 37

评论数 0

原创 Leetcode解题之路(golang版):35. 搜索插入位置(Search Insert Position)

35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例...

2019-05-13 22:16:12

阅读数 26

评论数 0

原创 Leetcode解题之路(golang版):28. 实现strStr()(Implement strStr())

28. 实现strStr() 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = "...

2019-05-12 21:05:14

阅读数 41

评论数 0

原创 APUE读书笔记(4) 文件和目录(上)

第四章 文件和目录(上) 一:主要内容:   本章主要讲述UNIX系统中文件和目录,与上一章有所区别的是,文件IO主要讨论突通文件进行的;文件和目录主要讲述描述文件系统的其他特征和文件的性质。   由于该章篇幅较长,所以分为两部分来记录。 二:函数stat、fstat、fstatat和lstat ...

2019-05-12 20:50:26

阅读数 30

评论数 0

原创 Leetcode解题之路(golang版):27. 移除元素(Remove Element)

27. 移除元素 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给...

2019-05-12 00:42:09

阅读数 23

评论数 0

原创 Leetcode解题之路(golang版):26. 删除排序数组中的重复项(Remove Duplicates from Sorted Array)

26. 删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的...

2019-05-10 21:53:27

阅读数 127

评论数 0

原创 Leetcode解题之路(golang版):20 有效的括号(Valid Parentheses)

20. 有效的括号 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: "()" 输出: t...

2019-05-10 19:36:06

阅读数 94

评论数 0

原创 Leetcode解题之路(golang版):14 最长公共前缀(Longest Common Prefix)

14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: ...

2019-05-09 21:12:38

阅读数 56

评论数 0

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