饿了么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是什么意思
相关推荐
2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用
2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的
3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单
4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价 点赞 评论 收藏
分享
破防了的哈里很讲原则:咱们两的情况差不太多,我是大一寒假开始学的java,大二下的时候技术栈也学得差不多了,按道理讲应该去找实习了,但我害怕面试,害怕在面试官前出糗,所以不断得麻痹自己,告诉自己八股还没背熟,项目还没理解,所以投不了。然后又染上了酸角洲,沉迷其中,直到最近才开始投。 点赞 评论 收藏
分享
查看13道真题和解析
凡岛公司福利 360人发布