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

相关推荐

榕城小榕树:1200单休,我去干点啥别的不好
点赞 评论 收藏
分享
程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
31
8
分享

创作者周榜

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