腾讯2020一面后端开发岗

知识点

进程的通信方式

  • 消息队列的底层结构?

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本,就能获胜。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值