知识点
进程的通信方式
- 消息队列的底层结构?
TCP的拥塞控制
进程线程
项目
- epoll select
- 同步异步日志
- LT ET
编程题
将单链表的每K个节点之间逆序
给定一个单链表,实现一个调整单链表的函数,使得每 K 个节点之间的值逆序,如果最后不够 K 个节点一组,则不调整最后几个节点。
输入描述
第一行一个整数 n,n 表示单链表的节点数量。
第二行 n 个整数 val 表示链表的各个节点的值。
第三行一个整数 K。
输出描述
在给定的函数内返回链表的头指针。
示例1
输入
5
1 2 3 4 5
3
输出
3 2 1 4 5
思考题
有100本书,每次可以拿1本,2本,...,5本。两个人比赛,谁最后拿到书谁就胜利,假设你先拿,怎么样才能赢?
最简单的巴什博奕:如果最后剩6本,且轮到对方拿,那么他不管拿1-5本中的多少本,剩下的我们都可以一次性拿光。
所以我们发现,这个6是我们必赢状态。
以此类推,只要我们保持留给对手的是6的倍数本,不管他拿几本,我们拿6-x本,留给对手的还是6的倍数本。
所以 100%6=4. 我们先手拿4本,然后每次和对方拿的加起来都是6本,就能获胜。