zoukankan      html  css  js  c++  java
  • 面试书上一些题目的整理: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页。

  • 相关阅读:
    MySQL锁
    MySQL索引
    MySQL基础
    删除文件时提示:一个意外错误使您无法复制该文件夹0x80070570
    教育部认可的44项全国学科竞赛名单
    打开dnsmasq log
    使用gdb调试user程序
    ipv6获取地址
    vlc产生组播流
    xxl-job搭建、部署、SpringBoot集成xxl-job
  • 原文地址:https://www.cnblogs.com/charlesblc/p/6416619.html
Copyright © 2011-2022 走看看