面试题(2)—— 常见算法

  1. 查询出表中10-20条记录 、查询第m条到第n条记录:
    select top n-m+1 * from test where (id not in(select top m-1 id from test))

  2. 查询出数组中第二大值

    用两个变量max,max2,其中max储存最大值,max2储存第二大值
    初始化的时候,将数组中的第一个元素中较大的存进max,较小的存进max2
    然后从第三个元素(下标为2)的元素开始,如果遇到的数比max,就让max2=max;max等于遇到的数一直循环,直到数组尾部最后输出max2

  3. 一个天秤,一个7克砝码,一个2克砝码,将150克食盐分成90克与50

    1. 先把140克放在天平上分成相等两份各70克,再把其中70克同样平均分成两份各35克,35+7*2+2-1

    2. 第一次:先称 7+2克盐 (相当于有三个法码2,7,9)
      第二次:2+7+9=18克盐 (相当于有2,7,9,18四个法码)
      第三次:7+18=x+2,得出x23,那就是有27克盐
      23+9+18=50克盐.

  4. 面试算法题  例如 输入123,输出321

    

  5. 面试算法题 台阶一次只可以上一级或者两级,求 例如10级台阶有多少种上法

     

  6.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m 

    方法一:通过顺序规律写程序,同时也知道flag标志位的重要性

    

    方法二:通过奇偶性

    

猜你喜欢

转载自www.cnblogs.com/gc001279/p/9232504.html
今日推荐