面试书上一些题目的整理:O(n)复杂度排序年龄 & 青蛙跳台阶
可以按照年龄的个数,设置99个桶,然后桶内处理。
青蛙跳台阶,每次1阶或者2阶,就是fib数
如果每次1到n阶,那么归纳法可得,是2^(n-1)
另外1*2 覆盖 2*n个矩阵的问题,仍然是Fib数。
求出一个数字里面有多少个1。一般的方法是用1来移位并且比较。但是也有巧妙的方法是,每次-1然后跟原来的数字&,能够消去一个1.
这种方法,很多题目都可以用。
有两个数,要改变多少位,可以让两个数字一样。
解法:先求出异或,然后统计这个异或结果里面的1就可以了。
浮点数比较
用"=="来比较两个double应该相等的类型,返回真值完全是不确定的。计算机对浮点数的进行计算的原理是只保证必要精度内正确即可。
求power,一般是这样:
要判断指数是不是负数,底数是不是0
然后指数偶数,就两两想乘;奇数,就两两想乘,再乘一个。
a^x = a^x/2 * a^x/2 (* a)
合并两个有序链表。这个可以用递归的去做,也可以迭代的去做。
看到第151页。
【推荐】国内首个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 让容器管理更轻松!