题目:大整数乘法、除法,楼梯走法,数组中不同数字,超过一半数字(好)
大整数乘法,可以用单个数字想乘,跟踪进位信息来处理。
大整数除法,可以先把除数增大到跟被除数相同的量级,然后累计相减。比如 555 / 3,就先把3增大到300,555能够减1次,那么结果+100,被除数变成255,依次进行。
楼梯走法:一次走一级,或者走两级。没什么难度。
数组中不同数字:如果是2n+1数组找出不同的那个数字,用异或就可以。
如果是找出超出一般数目的数字,用遍历,看到不一样的,就一起删除,这样的方式。
上网搜了一下,找出了更好的方法:
用变量记录备选数字,一个计数器记录该数字剩余的次数。备选数字初始化为第一个元素,计数器为1。
当遇到相同的数字,则计数器+1;当遇到不同的数字,计数器-1;如果计数器<0,则备选数字设为当前数,并且计数器重置为1.
最后,备选数字就是出现次数 > 一半的数字(注意是严格大于,等于是不满足这个算法的)。等于的话,有可能最后一对保存的是次数很少的数,而不是到达一半的数字。
关键这类题目还有很多引申。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!