JAVA 全超内存咋办
查看原帖
JAVA 全超内存咋办
476647
oximi123楼主2021/4/17 19:38
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;


public class Main {
		static int binarySearch(List<Integer> nums, int target) {
			int left=0, right = nums.size() - 1;
			int ans = -1;
			while(left <= right) {
				int mid = left + right >> 1;
				if(nums.get(mid) == target) {
					ans = mid;
					right = mid - 1;
				}else if(nums.get(mid)> target) {
					right = mid - 1;
				}else {
					left = mid + 1;
				}
			}
			return ans;
		}
		public static void main(String[] args) {
			int n, m;
			Scanner scanner = new Scanner(System.in);
			n = scanner.nextInt();
			m = scanner.nextInt();
			List<Integer> nums = new ArrayList<>();
			for(int i = 0;i<n;i++) {
				nums.add(scanner.nextInt());
			}
			while(m > 0) {
				int target = scanner.nextInt();
				int pos = binarySearch(nums, target);
				System.out.print(pos == -1 ? pos : pos + 1);
				if(m != 1)
					System.out.print(" ");
				m--;
			}
			System.out.println();
			scanner.close();
		}
}
2021/4/17 19:38
加载中...