题解 | #输出7的倍数#

输出7的倍数

http://www.nowcoder.com/practice/8b85768394304511b0eb887244e51872

思路:

正解

  1. 从0数到500
  2. 每个数字对7进行取模。如果%7=0,则表示为倍数
#!bin/bash
num=0
while (( $num<=500 ))
do
if (( $num%7==0 ))
then
    echo $num
fi
    let "num++"
done

逆解

  1. 初始值=0,可直接输出
  2. 以7为倍数进行自增并输出。得到的结果都是满足题意
#!bin/bash
num=0
while (( $num<=500 ))
do
    echo $num
     let "num+=7"
done

总结

  1. 逆解效率肯定比正解好
    1. 正解:像憨憨一样的数数,先数到数字,在对7进行取模,判断条件,满足在输出。步骤有4
    2. 逆解:自增7,直接输出;步骤有2,而且是直达,
  2. 时间复杂度:
    1. 正解O(n);
    2. 逆解O(n/7)
  3. 提升性能,就是少做工作和减少内存开销;成倍的减少
全部评论

相关推荐

10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
评论
30
8
分享
牛客网
牛客企业服务