题解 | #输出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. 提升性能,就是少做工作和减少内存开销;成倍的减少
全部评论

相关推荐

09-01 17:26
已编辑
门头沟学院
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
09-08 17:40
26秋招已经绝望了,投递了三十多家,只有几个AI面。
26届之耻将大局逆转:从8月15号开始,官网投了快100家,做了十几场笔试,已经挂了10家,还没面过一次!
我的秋招日记
点赞 评论 收藏
分享
评论
31
8
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务