3.3w+
社区成员
题目 1 :9数算式 考虑全排列暴力判断
题目2:山 暴力判断即可
超时了,写半天发现题解基本都超时
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
// public static void main(String[] args) {
// int left=2022;
// int right=2022222022;
// int count=0;
// for (int i = left; i <=right; i++) {
// if(judge(i)){
// count++;
// }
// }
// System.out.println(count);
// }
// //判断数字是否是回文且数位上的数字先单挑不减,后单调不增
// public static boolean judge(int num){
// String numString = String.valueOf(num);
// StringBuilder s = new StringBuilder(numString);
// String s1 = String.valueOf(s);
// String s2 = String.valueOf(s.reverse());
// //先判断是否是回文串
// if(!s1.equals(s2)){
// return false;
// }
// //在判断先单调不减,再单调不增
// return judgeSort(num);
// }
// //判断单调性是否符合条件
// public static boolean judgeSort(int num){
// String numString = String.valueOf(num);
// int length = numString.length();
// int index=length/2; //奇数个数和偶数个数可一并处理
// for (int i = 1; i <= index; i++) {
// if (!(numString.charAt(i) - '0' >= numString.charAt(i - 1) - '0')) {
// return false;
// }
// }
// for (int i = index + 1; i < length; i++) {
// if (!(numString.charAt(i) - '0' <= numString.charAt(i - 1) - '0')) {
// return false;
// }
// }
// return true;
// }
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
System.out.println("3138");
scan.close();
}
}
题目3:https://www.lanqiao.cn/problems/2143/learning/?page=16&first_category_id=1&sort=students_count&sechttps://img-community.csdnimg.cn/images/2f5eeb07b72a464fb871bd5bfe55bb6a.png
ond_category_id=3) 题解:链接
有时超时两个,有时全通过,不知道为什么
import java.util.Scanner;
import java.util.Arrays;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
static int N = 100010;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] cnt = new int[N];
int[] a = new int[n];
for(int i = 0 ;i < n;i ++){
a[i] = sc.nextInt();
cnt[a[i]]++;
}
for(int i = 1; i < N; i ++){
cnt[i] += cnt[i-1];
}
for(int i = 0; i < n; i ++){
if(cnt[100000] - cnt[a[i]] <= cnt[Math.max(0,a[i] - 1)]){
System.out.print(0 + " ");
continue;
}
//在[a[i],100000]中找到符合cnt[100000] - cnt[x] <= cnt[x-1] - 1;
int l = a[i] + 1,r = 100000;
while (l < r){
int mid = l + r >> 1;
if(cnt[100000] - cnt[mid] <= cnt[mid - 1] - 1)r = mid;
else l = mid + 1;
}
System.out.print(r - a[i] + " ");
}
}
}
题目4:完全平方数 解题思路见下面评论区,考察唯一分解定理