假设我们有一个N个元素的整数数组,它由0到10000之间的整数组成。我们需要多次检测包括一个数字的数字,例如1245有效,而1214不是。我们怎样才能做到最佳?谢谢!
答案 0 :(得分:0)
你需要两个循环。扫描阵列中每个元素的一个循环。
在内部循环中,您可以根据指定的标准确定给定元素是否有效。要确定一个数字是否具有多次相同的数字,您需要一个有效地逐个提取每个数字的例程。我认为最好的方法是做" mod 10"在数字上,然后将原始循环除以10.继续这样做,直到你没有数字(零)。既然您有一个查看整数的每个数字的例程,那么确定是否存在重复数字最佳的方法是创建一个包含10个布尔值的数组。从清除的数组开始。对于每个数字,将其用作bool数组的索引并将其设置为true。如果你看到" true"在你设置它之前再次在那个位置,这意味着之前访问过bool数组中的元素,因此它是一个重复的数字。所以你完全摆脱了循环,并说你发现了一个无效的值。