3.7日蓝桥算法打卡

小白哆啦 2023-03-07 22:56:44

题目 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();
    }
}

img

题目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] + " ");
        }

    }
}

img

题目4:完全平方数 解题思路见下面评论区,考察唯一分解定理


...全文
16 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,780

社区成员

发帖
与我相关
我的任务
社区描述
和众多高校算法内卷分子,一起学习和交流算法那。浓郁的算法交流氛围,拒绝躺平,有效内卷。加入我们,私信我拉你入核心内卷群。
算法数据结构leetcode 个人社区
社区管理员
  • 执 梗
  • Dream-Y.ocean
  • ღCauchyོꦿ࿐
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

 刷题!

试试用AI创作助手写篇文章吧