小莫蓝桥刷题之路(Day11)

纪小莫 2023-03-14 21:08:35

 

1.这道题首先将从1-20210的数转成字符串str,再对其进行循环,循环范围为str.length,将每一个字符串的每一位进行遍历,用str.charAt()的方法来找1,每找到1个1,count++。

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        int count=0;
        for (int i = 1; i < 20210; i++) {
            String str=i+"";
            for (int j = 0; j < str.length(); j++) {
                if(str.charAt(j)=='1')
                {
                    count++;
                }
            }
            if(count==2021)
            {
                System.out.println(str);
                break;
            }
        }
        
        scan.close();
    }
}

2.一道简单的动态规划问题。题目首先定义dp[]的含义,然后定义dp[]的初值,由于需要选取最小的一个路径,所以需要用到 Max.min的方法。同时这道题目需要用到辗转相除法求得最大公约数,然后再求最小 公倍数。

import java.util.Scanner;
//1:无需package
//2: 类名必须Main, 不可修改

public class Main {
 public static void main(String[] args) {
     Scanner scan = new Scanner(System.in);
     //在此输入您的代码...
     int n=2021;
     int []dp=new int[n+1];//表示从1-目标结点的最短路径,则dp[2021]为题目所求。
     dp[1]=0;
     for(int i=2;i<=2021;i++){
          dp[i]=Integer.MAX_VALUE;//初始化
     }
     for(int i=1;i<=2020;i++){
       for(int j=i+1;j<=2021&&(j-i)<=21;j++){
    	   
         dp[j]=Math.min(dp[j],dp[i]+zxgbs(i,j));
       }
     }
     System.out.println(dp[2021]);
     scan.close();
 }
 public static int gcd(int a,int b){
        return b!=0 ? gcd(b,a%b):a;//辗转相除法求最大公约数,如果b等于0,则返回a。,如果不等于0继续辗转相除。
 }
 public static int zxgbs(int a,int b){
   return a*b/gcd(a,b);
 }
}

 3.从键盘输入一个字符串,首先将字符串里的每一个字符遍历,所以用到一个for循环,str里的每一个字符减去'A'或者65(因为A的二进制代码为65)。将减去所得的结果归纳到一个数组里面。后面判断数组的最大值来找到出现最多次数的字母。最后再判断数组里最大的值是否唯一,如果不唯一,则输出最大值所在数组位置的字符。

import java.util.Scanner;
//1:无需package
//2: 类名必须Main, 不可修改

public class Main {
 public static void main(String[] args) {
     Scanner sc = new Scanner(System.in);
     //在此输入您的代码...
     int[]m=new int[26];
     String str;
     str=sc.next();
     
     for(int i=0;i<str.length();i++){
       m[(int)(str.charAt(i)-'A')]++;
     }
     int max=0;
     for(int i=0;i<m.length;i++){
       max=Math.max(max,m[i]);
     }
     for(int i=0;i<m.length;i++){
       if(m[i]==max){
         System.out.print((char)(i+'A'));
       }
     }
     sc.close();
 }
}

 

4. 类似01背包的问题,看的脑壳疼,勉强看懂。

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
//1:无需package
//2: 类名必须Main, 不可修改

public class Main {
 public static void main(String[] args) {
     Scanner sc = new Scanner(System.in);
     //在此输入您的代码...
     int []sj={0,31,28,31,30,31,30,31,31,30,31,30,31};
     int [][]arr=new int[1010][2];
     boolean [][]pd=new boolean[1010][5010];
     int n=sc.nextInt();
     int m=sc.nextInt();
     int k=sc.nextInt();
     for(int i=1;i<=12;i++){
       sj[i]+=sj[i-1];
     }
     for(int i=1;i<=n;i++){
       arr[i][0]=sj[sc.nextInt()-1]+sc.nextInt();//
       arr[i][1]=sc.nextInt();
     }
     Arrays.sort(arr,1,n+1,Comparator.comparingInt(a->a[0]));
     pd[0][0]=true;
     int l=0;
     int max=0;
     for(int i=1;i<=n;i++){
       while(arr[i][0]-arr[l+1][0]>=k)l++;
       for(int j=0;j<=m;j++){
         pd[i][j]=pd[i-1][j];
         if(j>=arr[i][1]&&pd[l][j-arr[i][1]]==true){
           pd[i][j]=true;
           max=Math.max(max,j);
         }
       }
     }
     System.out.println(max);
     sc.close();
 }
}

 

...全文
67 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文介绍了一个基于Java与Vue的中小银行信贷材料结构化审核与尽调要点抽取系统的设计与实现。系统通过OCR识别、版面解析、关键字段抽取、实体归一化、规则引擎和风险评分等技术,将非结构化的信贷材料(如营业执照、审计报告、银行流水、合同等)转化为可查询、可校验的结构化数据,实现材料自动分类、字段提取、完整性检查、跨文档一致性比对及风险线索识别。系统涵盖文件接入、文档识别、字段抽取、规则校验、风险评分与前端交互六大层次,提升了信贷审核效率、统一了审查标准、增强了风险预警能力,并建立了可追溯的数据资产体系。文中还提供了企业名称清洗、统一社会信用代码校验、金额抽取、材料完整性校验、名称相似度计算和风险评分等核心功能的模型描述与Java代码示例。; 适合人群:具备Java和Vue开发基础,从事金融科技、信贷系统开发或智能文档处理相关工作的研发人员,尤其是关注OCR、NLP与规则引擎在金融风控中应用的工程师和技术负责人。; 使用场景及目标:① 实现中小银行信贷材料的自动化结构化处理与智能审核;② 提升信贷审批效率,降低人工核验成本;③ 统一尽调标准,增强风险识别与预警能力;④ 构建可追溯、可审计的信贷数据资产,支持贷后管理与监管合规。; 阅读建议:此资源以实际项目为导向,结合业务需求与技术实现,建议开发者结合代码示例深入理解各模块设计逻辑,重点关注实体归一化、规则引擎配置与前后端协同机制,并可在类似场景中复用核心算法与架构设计。
鼎拨神器 4.02 软件描述 ====================== 一、软件简介 鼎拨神器是一款面向拨号场景的桌面工具软件,提供账号批量拨号、拨号状态管理、日志留痕等功能,适用于需要频繁切换拨号账号的使用场景。软件界面简洁、操作直观,账号配置与管理一体化,开箱即用。 二、核心功能 1. 账号拨号:支持多账号配置,账号与密码以"空格或 Tab 键"分隔,可从表格(一列账号、一列密码)直接复制粘贴导入,批量管理、快速切换。 2. 动态等待:拨号成功后支持 1-60 秒动态等待时长,可有效规避连续拨号过快导致的失败,提升拨号成功率。 3. 流量选项:内置流量模式选项(4.0 版本新增),按需选择,灵活适配不同拨号需求。 4. 日志留痕: - dial_log.xls:最近一次拨号记录; - dial_log_日期.txt:全部拨号记录,按天归档,方便追溯与统计。 5. 图标美化:4.02 版本窗口左上角与任务栏统一应用专属图标,界面更规范。 三、版本更新记录 - 版本 4.02:修复了一些已知问题,优化窗口图标显示。 四、目录结构说明 - 鼎拨神器.exe:主程序,双击启动。 - Launcher_ForExe.exe:拨号调度启动器。 - Program 文件夹:软件内部文件,请勿删除。 - Program\dial.exe:核心拨号组件。 - accounts.txt:账号密码配置文件(账号与密码间用一个空格或 Tab 键隔开)。如不慎删除,请以"accounts.txt"命名自建文件即可恢复使用。 - rz 文件夹:日志文件夹,自动生成拨号记录。 建议每次拨号时将最后一个账号设为自己固有的账号,避免前面所有账号拨号不成功。 详细条款请参阅软件包内《软件使用授权及免责声明》。
详情可查看下方数据集可视化效果。 【数据集概况】 · 检测类别(中文):[其他(Violence), 攀爬(climb)] · 训练集:2056 张 · 验证集:111 张 · 测试集:61 张 · 总计:2228 张 该数据集聚焦于高空作业场景中人员攀爬行为的精准识别,涵盖室内攀岩墙、户外梯子、屋顶维修、儿童游乐设施等多种真实环境。通过多角度、多光照条件下的图像采集,全面覆盖了不同高度、姿态和设备类型下的攀爬活动,为安全监控与风险预警系统提供了高质量的视觉基础,具有显著的行业应用价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 87 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9141** mAP50-95 | 0.6503 Precision | 0.8867 Recall | 0.8620 train/box_loss | 0.8021 train/cls_loss | 0.4599 val/box_loss | 1.1432 val/cls_loss | 0.6798 【训练过程分析】 87 轮训练后 mAP50 达到 0.9141,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。但 mAP50-95 为 0.6503,和 mAP50 差距 0.26,定位精度仍有优化空间。 【模型性能评估】 Precision 0.8867、Recall 0.8620,精度高于召回,存在一定漏检。多类检测中,不同类别性能可能有差异,需关注难例类别的表现。 【预测效果展示】 验证集预测效果较好...

51,730

社区成员

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

 刷题!

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