百度笔试编程题 选数
i + 1
不在集合范围内也可以积分,所以当 k == n
时,返回 1, 然后能积分数不超过 k,也不超过 len + 1 - k
,因为至多有 len + 1 - k 个数没被选中。
JAVA solution
import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();long[] len = new long[n];long[] k = new long[n];for (int i = 0; i < n; i++) {len[i] = sc.nextLong();k[i] = sc.nextLong();}for (int i = 0; i < n; i++) {System.out.println(solution(len[i], k[i]));}}private static long solution(long len, long k) {if(len == k) return 1;long res = Math.min(k, len + 1 - k);return res;}
}