1、复杂链表的复制
public Node copyRandomList(Node head){
Map<Node,Node> map = new HashMap<>();
Node p = head;
while(p != null){
map.put(p, new Node(p.val));
p = p.next;
}
p = head;
while(p != null){
map.get(p).next = map.get(p.next);
map.get(p).random = map.get(p.random);
p = p.next;
}
return map.get(head);
}
2、输入一个int型整数,从右向左输出不重复的新数字
public class demo2 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = in.nextInt();
fun(num);
}
public static void fun(int num){
ArrayList<Integer> list = new ArrayList<>();
if(num == 0){
System.out.println(0);
}
while(num > 0){
if(!list.contains(num % 10)){
list.add(num % 10);
}
num = num / 10;
}
for(int i = 0; i < list.size(); i++){
System.out.println(list.get(i));
}
}
}
linux
cat /proc/cpuinfo | grep "processor" | wc -l //查看逻辑CPU核数
cat /proc/cpuinfo | grep "cpu cores" | unique //查看每个物理cpu的核心数
grep "physical id" |sort|unique|wc -l //查看物理cpu个数
操作系统
操作系统的发展与分类(多道批处理 单道批处理系统 分时操作系统 实时操作系统)
1、单道批处理系统
2、多道批处理系统
主要优点:多道程序并发执行,共享计算机资源。 资源利用率大幅提升 , CPU 和其他资
源更能保持“忙碌”状态,系统吞吐量增大。
主要缺点:用户响应时间长, 没有人机交互功能 (用户提交自己的作业之后就只能等待
计算机处理完成,中间不能控制自己的作业执行。eg :无法调试程序 / 无法在程序运行过
程中输入一些参数)
3、多道批处理系统和单道批处理系统比较
由上面的两个图可知:
由于 多道程序 并发执行,共享计算机资源。资源利用率大幅提升,CPU和其他资
源更能保持“忙碌”状态,系统吞吐量增大。
4、分时操作系统
- 计算机以时间片为单位轮流为各个用户 / 作业服务 ,各个用户可通过终端与计算机进行交互。
- 主要优点:
- 用户请求可以被即时响应, 解决了人机交互问题 。允许多个用户同时使用一台计算机,并且用
户对计算机的操作相互独立,感受不到别人的存在。
- 用户请求可以被即时响应, 解决了人机交互问题 。允许多个用户同时使用一台计算机,并且用
- 主要缺点:
- 不能优先处理一些紧急任务 。操作系统对各个用户 / 作业都是完全公平的,循环地为每个用户 /作业服务一个时间片,不区分任务的紧急性。
5.实时操作系统
- 不能优先处理一些紧急任务 。操作系统对各个用户 / 作业都是完全公平的,循环地为每个用户 /作业服务一个时间片,不区分任务的紧急性。
- 主要优点:能够优先响应一些紧急任务,某些紧急任务不需时间片排队。
- 在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完事件 。实时操作系统的主要特点是及时性和可靠性