G题我的思路是,枚举第一个元素的值从1到7,然后往后遍历数组。维护一个上下界,l,r,表示下一个元素应该在的范围。比如枚举开头元素为st,则,下一个元素应该在st-k到st+k之间(两边对1和7取一下max和min边界处理一下),如果下一个元素是在这个范围内,则更新l和r为这个元素+-k的位置。关键在于如果这个元素ai不在l和r范围内,则计数器加一,更新l和r为原来的l和r再往外扩张k范围,表示将这个元素挪到跟前一个元素符合k距离的情况下,最多能满足下一个元素符合k距离的上下界。就这样一直维护下去,跑7遍取最小值,最后只能过80%的数据,求问这个思路哪里错了,或者求hack数据。代码如下: #...