我正在尝试学习Java,我自己只有3个星期(从YouTube视频和博客),这是我的第一门语言。我想写一个程序来寻找一个升序整数数组中丢失的数字。我找到了一个方法,但它只适用于增量数组中的最后一个数字小于10的情况。比如1,2,3,4,5,6,7,8,9,10。
我也在网上找到了其他程序,但它们都有同样的问题。
我试着用我有限的3周知识自己写,并成功了。但我想我走了很长的路。代码几乎有27行长。
下面的代码是一个包含9个元素的整数数组:[12、13、17、18、20、21、24、25、26]和第14、15、16、19、22、23项缺失
第一个
我得到了我想要的,但有没有更好的方法来做到这一点?
顺便说一句,如果我想让代码更美观,它会变得很大:D
第一个
3条答案
按热度按时间oiopk7p51#
你看起来似乎把事情弄得太复杂了,因为一个简单的嵌套for循环可能就是你所需要的。外层循环遍历数组,直到但不包括最后一个数字,内层循环在数组中的一个项到下一个项之间循环,从
arr[i] +
到arr[i + 1]
。注意,如果两个数组项是连续的,内层循环就不会“循环”。并且因此不需要IF块:输出量:
就是这样
xmq68pz92#
您可以使用
List<Integer>
来避免重复相同的计算。输出:
rxztt3cl3#
要用从
min
到max
的所有数字填充数组,您可以写入在这种特殊情况下