201403-1 相反数 Java

法1:排序后,首尾两个指针
法2:每个数的绝对值如果出现过,flag置为1,如果再次出现,就计数+1

本文采用法1

import java.util.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int a[] = new int[n];
		for(int i = 0;i<n;i++) {
			a[i] = sc.nextInt();
		}
		Arrays.sort(a);
		int count = 0;
		int i = 0;
		int j = n-1;
		while(i < j) {
			if(a[i] + a[j] == 0) {
				count++;
				i++;
				j--;
			}else if(a[i] + a[j] > 0){
				j--;
			}else {
				i++;
			}
		}
		System.out.println(count);
	}
}
posted @ 2020-02-21 20:24  菜鸡A  阅读(302)  评论(0编辑  收藏  举报