【算法学习】高级班九

在这里插入图片描述
这种互为旋变串:
在这里插入图片描述
给定两个字符串,判断是否互为旋变串
代码:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
打表法:
在这里插入图片描述

  • 每一层内的数字不互相依赖,只依赖它下面的层
  • 但实际上size会约束L1和L2的值,即L1和L2<N-size
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
思路:设置一个窗口L到R,当还欠字符时,即all不为0时,R往右扩,更新欠债表{a,b,c},当all为0时,记录此时index=L时,字符串长度,把L往右移,更新欠债表。求到每个index位置的字符串长度,取最小。
在这里插入图片描述
3.
在这里插入图片描述
要求时间复杂度O(1),则不能遍历,也不能有序表(O(logN))
思路:二维双向链表。每个词频构建一个桶,桶和桶之间双向链表,相同词频的数据放一个桶,并且桶内部还是双向链表
4.
在这里插入图片描述
把油的数值变成油-下一段路需要的油
在这里插入图片描述
任选一个节点当起始点,头和尾都可向外扩
在这里插入图片描述
结果:
(1)转一圈都没发现良好出发点
在这里插入图片描述
H尾部的节点都不是良好出发点,头部也没有是
因为从H出发都不能走完一圈,H到尾部的点的油量一定>=0,那么H尾部的点的油不够走完一圈
(2)有良好出发点
在这里插入图片描述
从A出发,发现H是良好出发点,那么往后只用看点是否能接上H的头即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值