让我们先来看一个简单的问题:给定两个整数x和y,如果这两个数不相等就输出Yes,否则输出No。遇到这样的问题,一般都会毫不犹豫地给出类似于下面的代码:
如果问题性质不变,简单地增加一下问题规模:给定三个整数x、y和z,如果这三个数互不相等就输出Yes,否则输出No。估计很多人会在上面代码的基础上稍加改变,给出类似于下面的代码:
如果保持问题性质不变,继续增加问题规模:给定任意n个整数,如果这n个整数互不相等则输出Yes,否则输出No。如果还是沿用前面的思路,条件表达式会变得非常长非常啰嗦非常容易出错,可以试试看。
如果在编写代码时遇到类似的情况,就应该考虑改变思路了。以上面的问题为例,利用集合中元素不允许重复的特点,可以写出非常简洁且不需要随问题规模而不停改写的代码。
连续三次运行: