当前位置: 首页 > news >正文

PTA 跨年挑战赛2025-2026(java)

天干地支

import java.util.Scanner; public class Main { public static void main(String[] args) { System.out.println("2026 is bing wu year."); } }

普及赛发奖

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int a1=in.nextInt(); int a2=in.nextInt(); int a3=in.nextInt(); int num=in.nextInt(); System.out.println(num); if (num>=a1){ System.out.println("yi deng jiang"); }else if (num>=a2){ System.out.println("er deng jiang"); }else if (num>=a3){ System.out.println("san deng jiang"); }else { System.out.println("mei jiang T_T"); } } }

学校评级分

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int s=in.nextInt(); System.out.println(s); int n=in.nextInt(); for (int i=0;i<n;i++){ int d=in.nextInt(); s+=d; } System.out.println(s); } }

走路打卡

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int n=in.nextInt(); int s=in.nextInt(); int count=0; int max=-1; String star=""; for (int i=0;i<n;i++){ String name=in.next(); int num=in.nextInt(); if (num>=s){ count++; } if (num>max){ max=num; star=name; } } System.out.println(count); System.out.println(star); } }

九漏鱼

主体思路:首先除去数字的前导零便于后续判断,通过除去前导零后剩余数字的位数即可判断“九漏鱼”判定法得到的较大的数,即位数多的大;如果位数相同判断除去前导零后剩余数字的大小即可,这里需要注意0.001 0.1这种情况应该输出0.1 0.1所以需要进行特判

import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); in.nextLine(); for (int i = 0; i < n; i++) { String nums=in.nextLine(); String num[]=nums.split(" "); String x11 = num[0]; String x1=removeLeadingZeros(x11); String x22 = num[1]; String x2=removeLeadingZeros(x22); if (x1.length()>x2.length()){ System.out.print(x11+" "); }else if (x1.length()<x2.length()){ System.out.print(x22+" "); }else { if (x1.equals(x2)){ System.out.print((x11.length()<x22.length()?x11:x22)+" "); }else { System.out.print((x1.compareTo(x2) > 0 ? x11 : x22) + " "); } } System.out.println(x1.compareTo(x2)>0?x11:x22); } } public static String removeLeadingZeros(String s) { int startIndex = 2; // 找到第一个非0字符的位置 while (startIndex < s.length() && s.charAt(startIndex) == '0') { startIndex++; } return s.substring(startIndex); } }

斩杀线

首先求出每个月所需的最少收入Xi,再选择最大的Xi就是斩杀线。

import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int n=in.nextInt(); int min=0;//斩杀线 for (int i=0;i<n;i++){ int m=in.nextInt(); int val[]=new int[m]; for (int j=0;j<m;j++){ val[j]=in.nextInt(); } int num=in.nextInt(); Arrays.sort(val);//排序,选择最便宜的 int sum=0; for (int j=0;j<num;j++){ sum+=val[j]; } if (sum>min){//更新斩杀线 min=sum; } } System.out.println(min); } }

迎新字符串

熟悉indexOf、replaceFirst和insert的用法,第三种操作要在StringBuilder上操作,避免索引混乱

import java.util.Scanner; public class Main{ public static void main(String args[]){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.nextLine(); // 消耗换行符 String s = sc.nextLine(); for(int i = 1; i <= n; i++){ int a = sc.nextInt(); if(a == 1){ String s1 = sc.next(); int pos = s.indexOf(s1); System.out.println(pos); } else if(a == 2){ String s2 = sc.next(); String s3 = sc.next(); s = s.replaceFirst(s2, s3);//替换第一次出现的子串 System.out.println(s); } else if(a == 3){ String c1Str = sc.next(); String c2Str = sc.next(); String s4 = sc.next(); char c1 = c1Str.charAt(0); char c2 = c2Str.charAt(0); // 在StringBuilder上操作,避免索引混乱 StringBuilder sb = new StringBuilder(s); int j = 1; while (j < sb.length()) { if (sb.charAt(j-1) == c1 && sb.charAt(j) == c2) { sb.insert(j, s4);//在j处插入s4 // 跳过刚插入的字符,避免重复处理 j += s4.length(); } j++; } s = sb.toString(); System.out.println(s); } } }

60年前的算法

这道题最后一个案例显示超时,有大佬指导一下吗,我真没招了

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { // BufferedReader,处理1e5数据更快 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); // 读取并分割数组 StringTokenizer st = new StringTokenizer(br.readLine()); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = Integer.parseInt(st.nextToken()); } int maxSize = 0; // 记录栈的最大深度 int[] stack = new int[n]; // 模拟栈 int[] firstMaxLayout = new int[n]; // 存储第一次达到最大时的布局 int top = 0; // 栈顶指针 for (int x : arr) { // 算法核心:弹出所有比当前值小的栈顶元素 while (top > 0 && x > stack[top - 1]) { top--; // 直接移动指针,无需清零 } // 压入当前元素 stack[top++] = x; // 仅当首次突破最大值时才复制 if (top > maxSize) { maxSize = top; // 复制当前栈的前 maxSize 个元素 System.arraycopy(stack, 0, firstMaxLayout, 0, maxSize); } } // 输出结果 System.out.println(maxSize); // 按要求:从栈顶到栈底输出(即数组逆序) for (int i = maxSize - 1; i >= 0; i--) { System.out.print(firstMaxLayout[i]); if (i > 0) System.out.print(" "); } } }
http://www.jsqmd.com/news/430119/

相关文章:

  • 2026年热门的防水涂料/JS聚合物水泥防水涂料源头厂家推荐几家 - 品牌宣传支持者
  • 前后端分离web铁路订票管理系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程
  • 2026年郑州抗磨液压油选型指南:信誉、技术、服务三维度解析 - 2026年企业推荐榜
  • 苏格拉底说了:”最核心的知识,从来不在文档里”
  • 企业软件开发的下一步:从云原生到AI原生的架构演进
  • 【AI 智能体时代的软件工程】03 无尽迭代与超越完成:压榨 AI 队友的“不知疲倦”
  • 监控和事态流程手册
  • Python:协议机制
  • Fish Speech 1.5技术解析:13种语言共享同一语义空间的实现机制
  • 解决 403 Forbidden:安全访问星图平台部署的 Lingbot 模型 API
  • QLVideo:让Mac视频预览效率提升300%的开源工具
  • Win10 IIS(Internet Information Services)配置与优化全攻略
  • ollama调用Phi-4-mini-reasoning实战案例:自动解微积分题+生成分步解析
  • Optuna调参超快
  • 零基础玩转Janus-Pro-7B:图像识别+AI绘画一站式解决方案
  • DeepAnalyze深度文本分析引擎实战教程:Ollama+Llama3私有化部署保姆级指南
  • Qwen3-ASR-1.7B在Kubernetes集群的弹性部署方案
  • Qwen3-0.6B-FP8惊艳案例:在树莓派5上通过USB-C加速棒运行实录
  • StructBERT中文大模型应用场景:在线考试系统题目语义重复自动预警机制
  • 飞驰人生:UNIT-00模型加速AI应用从开发到部署的全流程
  • 【AI大模型实战】Youtu-Parsing保姆级教程:零基础快速部署,一键解析扫描文档与手写体
  • 万象熔炉 | Anything XL惊艳效果:高精度手部结构+自然关节角度生成图
  • CosyVoice语音生成大模型-300M-25Hz开发指南:基于Git的版本管理与协作
  • 攻克血管建模难题:VMTK的精准医学影像解决方案
  • Youtu-Parsing模型微调入门:使用自定义数据提升特定文档解析精度
  • 意义行为原生自感说:制度、意识形态与日常的“这是我”
  • 基于Java+SSM+Flask电影购票系统(源码+LW+调试文档+讲解等)/电影购票/电影票预订/电影票购买/在线购票/电影票系统/影院订票/电影票预订服务/电影购票平台/电影票在线购买
  • Qwen-Image-Lightning实战案例:为公益组织批量生成多语种环保宣传海报
  • RMBG-2.0与Vue3前端开发:实时抠图预览实现
  • 3步解锁跨平台3DS游戏体验:Citra模拟器全攻略