饿了么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(可以减少两个),就是答案。
对于任意正整数 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(可以减少两个),就是答案。
全部评论
这下确诊智障了
就顾着优化回溯吃烂分了
对2取余是2是什么意思
相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享