饿了么0314笔试-题目二思路

记录下第二题,个人觉得比较像智力题,想到了就不难。

对于任意正整数 i,i % 3 = 1时,i * i % 3 = 1;i % 3 = 2时,i * i % 3 = 1。可以发现,无论是对3取余余1或2,自身的平方 对 3 取余始终为1.

用 remaind1 表示 1-n 中,对3取余为1的整数个数,remiand2 表示对3取余为2的整数个数.

如果 (remaind1 + remaind2) % 3 == 0,那么排列 1-n 就是答案;

如果 (remaind1 + remaind2) % 3 == 1,将排列 1-n 交换1和3(可以减少一个),就是答案;

如果 (remaind1 + remaind2) % 3 == 2,将排列 1-n 交换1和3、2和6(可以减少两个),就是答案。
全部评论
这下确诊智障了
1 回复 分享
发布于 03-14 21:30 上海
就顾着优化回溯吃烂分了
1 回复 分享
发布于 03-14 21:44 新加坡
对2取余是2是什么意思
点赞 回复 分享
发布于 03-14 23:14 浙江

相关推荐

评论
3
6
分享

创作者周榜

更多
牛客网
牛客企业服务