Fork me on GitHub

操作系统-02-进程管理

操作系统-02-进程管理

1. 进程的定义

  1. 程序

mark

  1. 进程

mark

  • 进程和程序的区别和联系:

区别:
(1) 进程是动态的;程序是静态的。
(2) 进程有独立性,能并发执行;程序不能并发执行。
(3) 二者无一一对应关系。
(4) 进程异步运行,会相互制约;程序不具备此特征。
但是,进程与程序又有密切的联系: 进程不能脱离具体程序而虚设, 程序规定了相应进程所要完成的动作。
(5) 组成不同。进程包含PCB、程序段、数据段。程序包含数据和指令代码。
(6) 程序是一个包含了所有指令和数据的静态实体。本身除占用磁盘的存储空间外,并不占用系统如CPU、内存等运行资源。
(7) 进程由程序段、数据段和PCB构成,会占用系统如CPU、内存等运行资源。
(8) 一个程序可以启动多个进程来共同完成。
联系:进程不能脱离具体程序而虚设, 程序规定了相应进程所要完成的动作。

阅读更多...

Leetcode-977-有序数组的平方

Leetcode-976-三角形的最大周长

题目描述

给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。

如果不能形成任何面积不为零的三角形,返回 0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
示例 1:

输入:[2,1,2]
输出:5

示例 2:

输入:[1,2,1]
输出:0

示例 3:

输入:[3,2,3,4]
输出:10

示例 4:

输入:[3,6,2,3]
输出:8
阅读更多...

Leetcode-977-有序数组的平方

Leecode-977. 有序数组的平方https://leetcode-cn.com/problems/rotting-oranges/)

思路:双指针

题目描述

  • 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。
1
2
3
4
5
6
7
8
9
示例 1:

输入:[-4,-1,0,3,10]
输出:[0,1,9,16,100]

示例 2:

输入:[-7,-3,2,3,11]
输出:[4,9,9,49,121]

提示:

1
2
3
1 <= A.length <= 10000
-10000 <= A[i] <= 10000
A 已按非递减顺序排序。
阅读更多...

Leetcode-717-1比特与2比特字符

Leetcode-717-1比特与2比特字符

题目描述:

有两种特殊字符。第一种字符可以用一比特0来表示。第二种字符可以用两比特(10 或 11)来表示。

现给一个由若干比特组成的字符串。问最后一个字符是否必定为一个一比特字符。给定的字符串总是由0结束。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
示例 1:

输入:
bits = [1, 0, 0]
输出: True
解释:
唯一的编码方式是一个两比特字符和一个一比特字符。所以最后一个字符是一比特字符。

示例 2:

输入:
bits = [1, 1, 1, 0]
输出: False
解释:
唯一的编码方式是两比特字符和两比特字符。所以最后一个字符不是一比特字符。

注意:

  • 1 <= len(bits) <= 1000.
  • bits[i] 总是01.
阅读更多...

Leetcode-771-宝石与石头

Leetcode-771-宝石与石头

题目描述

  • 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。

  • J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此”a”和”A”是不同类型的石头。

1
2
3
4
5
6
7
8
9
示例 1:

输入: J = "aA", S = "aAAbbbb"
输出: 3

示例 2:

输入: J = "z", S = "ZZ"
输出: 0

注意:

  • SJ 最多含有50个字母。
  • J 中的字符不重复。
阅读更多...

哲学家进餐-多线程

哲学家进餐-多线程

哲学家进餐

题目描述

5 个沉默寡言的哲学家围坐在圆桌前,每人面前一盘意面。叉子放在哲学家之间的桌面上。(5 个哲学家,5 根叉子)

所有的哲学家都只会在思考和进餐两种行为间交替哲学家只有同时拿到左边和右边的叉子才能吃到面,而同一根叉子在同一时间只能被一个哲学家使用。每个哲学家吃完面后都需要把叉子放回桌面以供其他哲学家吃面。只要条件允许,哲学家可以拿起左边或者右边的叉子,但在没有同时拿到左右叉子时不能进食。

假设面的数量没有限制,哲学家也能随便吃,不需要考虑吃不吃得下。

设计一个进餐规则(并行算法)使得每个哲学家都不会挨饿;

也就是说,在没有人知道别人什么时候想吃东西或思考的情况下,每个哲学家都可以在吃饭和思考之间一直交替下去。

mark

阅读更多...

股票问题-合集

股票问题-合集

题号 题解
121. 买卖股票的最佳时机 暴力解法、动态规划(Java)
122. 买卖股票的最佳时机 II 暴力搜索、贪心算法、动态规划(Java)
123. 买卖股票的最佳时机 III 动态规划(Java)
188. 买卖股票的最佳时机 IV 动态规划(「力扣」更新过用例,只有优化空间的版本可以 AC)
309. 最佳买卖股票时机含冷冻期 动态规划(Java)
714. 买卖股票的最佳时机含手续费 动态规划(Java)

题号 题解
121. 买卖股票的最佳时机 暴力解法、动态规划(Java)
122. 买卖股票的最佳时机 II 暴力搜索、贪心算法、动态规划(Java)
123. 买卖股票的最佳时机 III 动态规划(Java)
188. 买卖股票的最佳时机 IV 动态规划(「力扣」更新过用例,只有优化空间的版本可以 AC)
309. 最佳买卖股票时机含冷冻期 动态规划(Java)
714. 买卖股票的最佳时机含手续费 动态规划(Java)
阅读更多...
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信