Discuss / Java / 求和相减

求和相减

Topic source

日落有星

#1 Created at ... [Delete] [Delete and Lock User]
	static int findMissingNumber(int start, int end, List<Integer> list) {

		/*
		 * Collections.sort(list); for (int item : list) { if(start != (int)item) {
		 * return start; } start++; } return end;
		 */
		
		/*
		 * for (int i=start; i<=end; i++) { if (!list.contains(i)) { return i; } }
		 * return 0;
		 */
		 
		int sum = list.stream().reduce(Integer::sum).orElse(0);
		return (start+end)*(end-start+1)/2-sum;
		
	}

MammonXanxus

#2 Created at ... [Delete] [Delete and Lock User]

您这个写法真的简洁,就是一半时候没理解语法。。。。

MammonXanxus

#3 Created at ... [Delete] [Delete and Lock User]

java8 的流特性。。。学习了

和煦烈风

#4 Created at ... [Delete] [Delete and Lock User]

流+等差数列求和公式,厉害

最后return如果数组长度为奇数就不对了

return (start+end)*(end-start+1)/2-sum;

  • 1

Reply