蓝桥杯刷题8

1. 世纪末的星期

import java.util.Calendar;
public class Main {public static void main(String[] args) {Calendar calendar = Calendar.getInstance();for(int year = 1999;year<100000;year+=100){calendar.set(Calendar.YEAR,year);calendar.set(Calendar.MONTH,11);calendar.set(Calendar.DAY_OF_MONTH,31);if(calendar.get(Calendar.DAY_OF_WEEK)==1){System.out.println(year);break;}}}
}

 2. 星期计算

public class Main {public static void main(String[] args) {int n = 20;for(int i = 0;i<21;i++){n = (20*n)%7;}System.out.println((n+5)%7+1);}
}

3. 更小的数

【解法一 模拟法 通过40%】

StringBuilder:内容是可变的,String:内容是不变的

public StringBuilder(String str):根据字符串的内容,来创建可变字符串对象。

public StringBuilder reverse():返回相反的字符序列。

public StringBuilder append(任意类型):添加数据,并返回对象本身。

public String toString():通过toString就可以实现把StringBuilder转换为String

public int length()返回对象内容长度

replace(int start, int end, String str):将起始位置为start,结束位置为end-1的子串替换为str。不生成新的StringBuilder对象,在原来的StringBuilder对象上修改

String 字符串类型,它的比较值用compareTo方法,它从第一位开始比较,,如果遇到不同的字符,则马上返回这两个字符的ASCII码的差值,返回值是int类型

import java.util.*;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);String str = sc.next();int count = 0;for(int i = 0;i<str.length();i++){for(int j = i+1;j<str.length();j++){StringBuilder s = new StringBuilder(str);s.replace(i,j+1,new StringBuilder(str.substring(i,j+1)).reverse().toString());if(s.toString().compareTo(str)<0){count++;}}}System.out.println(count);sc.close();}
}

【解法二 直接暴力 100%】

import java.util.*;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);String str = sc.next();int count = 0;for(int i = 0;i<str.length();i++){for(int j = i+1;j<str.length();j++){for(int p = i,q=j;p<q;p++,q--){char a1 = str.charAt(p);char a2 = str.charAt(q);if(a1==a2) continue;        if(a1>a2) count++;break;}}}System.out.println(count);sc.close();}
}

【解法三 DP】

import java.util.*;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);String str = sc.next();int dp[][] = new int[5002][5002];int count = 0;for(int k = 1;k<str.length();k++){for(int i = 0;i+k<str.length();i++){int j = i+k;if(str.charAt(i) < str.charAt(j)) dp[i][j]=0;if(str.charAt(i) > str.charAt(j)) dp[i][j]=1;if(str.charAt(i) == str.charAt(j)) dp[i][j]=dp[i+1][j-1];if(dp[i][j]==1) count++;}}System.out.println(count);sc.close();}
}

4. 接龙数列

import java.util.*;
public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int num = scan.nextInt();String arr[] = new String[num];for(int i = 0;i<num;i++){arr[i] = scan.next();}int dp[] = new int[10];for(int i = 0;i<num;i++){int head = arr[i].charAt(0)-'0';int tail = arr[i].charAt(arr[i].length()-1)-'0';dp[tail] = Math.max(dp[head]+1,dp[tail]);}int max = 0;for(int i = 0;i<10;i++){max=Math.max(max,dp[i]);}System.out.println(num-max);scan.close();}
}

5. 填充

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);char s[] = scan.next().toCharArray();int count = 0;for(int i = 0;i<s.length-1;){if(s[i]==s[i+1]||s[i]=='?'||s[i+1]=='?'){count++;i+=2;}else{i++;}}System.out.println(count);scan.close();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/772370.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小苯的回文询问(

题目 离散化存储 #include<bits/stdc.h> using namespace std; #define int long long const int N2e59; int n,q,ans[N],a[N]; map<int,int> mp; vector<pair<int,int>>qr[N]; signed main(){ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);c…

前端面试拼图-数据结构与算法(二)

摘要&#xff1a;最近&#xff0c;看了下慕课2周刷完n道面试题&#xff0c;记录下... 1. 求一个二叉搜索树的第k小值 二叉树(Binary Tree) 是一棵树 每个节点最多两个子节点 树节点的数据结构{value, left?, right?} 二叉树的遍历 前序遍历&#xff1a;root→left→right 中…

C/C++ 语言中的 ​if...else if...else 语句

C/C 语言中的 ​if...else if...else 语句 1. if statement2. if...else statement3. if...else if...else statementReferences 1. if statement The syntax of the if statement is: if (condition) {// body of if statement }The code inside { } is the body of the if …

聚合支付评级较低的机构能否提升评级

聚合支付机构完成备案是合规展业的第一步&#xff0c;同时&#xff0c;一年一度评级结果对其业务开展和收单机构合作发展具有重要的作用&#xff0c;如若评级较低&#xff0c;将影响到其参与商业银行的外包业务投标&#xff0c;支付机构合作协议签署及合作事宜。 近期&#xf…

Chrome浏览器修改网页内容

方法一&#xff1a;使用开发者工具 在Chrome浏览器中打开要修改的网页。按下F12键打开开发者工具。在开发者工具窗口中&#xff0c;找到“Elements”标签页。在“Elements”标签页中&#xff0c;找到要修改的网页元素。双击要修改的网页元素&#xff0c;即可进行编辑。 方法二…

AIGC 训练场景下的存储特征研究

云布道师 引言&#xff1a;在传统块存储大行其道的时代&#xff0c;需要针对很多行业的工作负载&#xff08;Workload&#xff09;进行调研&#xff0c;包含块大小、随机读、读写比例等等。知道行业的 Workload 对于预估业务的 I/OPS、时延、吞吐等性能有很好的指导意义&#…

Cadence——生成Gerber制板文件

软件版本&#xff1a;Cadence SPB OrCAD Allegro 16.6 打开Allegro PCB Designer 选择如下选项&#x1f447; 点击 File–>Open&#xff0c;找到对应的.brd文件 电气错误的检查&#xff1a;点击 Display–>Status&#xff0c;全为绿色则没有错误 按照不同的项目来进…

自幂数之水仙花数(从0开始)

文章目录 概要整体架构流程代码实现小结 概要 水仙花数&#xff08;Narcissistic number&#xff09;也被称为超完全数字不变数&#xff08;pluperfect digital invariant, PPDI&#xff09;、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数&#xff08;Armstrong number&#xff…

基于stm32与TJC3224T124_011串口屏的PID调参器(附完整工程)

电赛在即&#xff0c;每次比赛调PID都是一件比较繁琐的事。每次都要在程序中改完再烧录到板子上&#xff0c;特别耗时。正好最近发现实验室的一块串口屏比较好玩。 于是就做了这个调PID的东西。它可以通过串口直接修改PID的值&#xff0c;从而达到快速调PID的目的。下面我将完整…

C++学习笔记(lambda函数)

C learning note 1、lambda函数的语法2、lambda函数的几种用法 1、lambda函数的语法 lambda函数的一般语法如下&#xff1a; [ capture_clause ] ( parameters ) -> return_type {function_body }capture_clause&#xff1a;需要捕获的变量&#xff0c;但要求该变量必须在…

【办公类-16-07-07】“2023下学期 中班户外游戏2(有场地和无场地版,每天不同场地)”(python 排班表系列)

作品展示 背景需求&#xff1a; 2024年2月教务组发放的是“每周五天内容相同&#xff0c;两周10天内容相同”的户外游戏安排 【办公类-16-07-05】合并版“2023下学期 大班户外游戏&#xff08;有场地和无场地版&#xff0c;两周一次&#xff09;”&#xff08;python 排班表系…

探索未来智能的奥秘

文章目录 前言 前言 随着科技的不断进步&#xff0c;人工智能(AI)已逐渐渗透到我们生活的方方面面。而在AI的众多分支中&#xff0c;大模型技术无疑是一个备受瞩目的领域。本文将带领大家走进AI大模型的世界&#xff0c;一同探索其奥秘。 AI大模型&#xff0c;顾名思义&#…

YOLOv7 | 注意力机制 | 添加ECA注意力机制

目录 原理简介 代码实现 yaml文件实现&#xff08;tips&#xff1a;可以添加不同的位置&#xff09; 检查是否添加执行成功 完整代码分享 论文创新必备&#xff08;可帮忙做实验&#xff09; 启动命令 ECA是通道注意力机制的一种实现形式&#xff0c;是基于SE的扩展。…

Data Interpreter: An LLM Agent For Data Science 论文解读

论文地址&#xff1a;https://arxiv.org/abs/2402.18679 Github&#xff1a;MetaGPT: The Multi-Agent Framework 数据解释器&#xff08;Data Interpreter&#xff09;是一个基于大型语言模型&#xff08;LLM&#xff09;的代理&#xff0c;专门为解决数据科学问题而设计。它…

互联网摸鱼日报(2024-03-21)

互联网摸鱼日报(2024-03-21) 36氪新闻 金山云Q4营收17.22亿元&#xff0c;技术创新驱动收入规模和盈利能力双增长 iOS 18是苹果AI的答卷&#xff1f;你或许并不懂手机AI 2024年&#xff0c;广告主市场预算真的继续下滑&#xff1f; 降价潮反倒劝退消费者&#xff0c;想买车…

数据丢失大救星:格式化后如何高效恢复文件

一、格式化危机&#xff1a;如何逆转数据流失 在数字时代&#xff0c;数据丢失无疑是一场灾难。当我们的电脑硬盘、手机或闪存盘不慎被格式化后&#xff0c;重要文件仿佛在一瞬间消失得无影无踪。面对这一突发状况&#xff0c;很多人会陷入迷茫和焦虑之中。那么&#xff0c;格…

Django(三)-搭建第一个应用(2)

一、编写更多视图 问题详情页——展示某个投票的问题和不带结果的选项列表。问题结果页——展示某个投票的结果。投票处理器——用于响应用户为某个问题的特定选项投票的操作。 # 1.问题详情页&#xff1a;展示某个投票的问题和不带结果的选项列表 def detail(request,questi…

放弃 Rust 选择 Zig,Xata 团队推出 pgzx —— 计划使用 Zig 开发基于 PG 的分布式数据库

Summary Xata 公司在基于 PostgresSQL 开发自己的分布式数据库&#xff0c;出于 Zig 和 C 语言以及 PostgreSQL 的 API 有更好的互操作性的考虑&#xff0c;他们选择了 Zig 而非当红炸子鸡语言 Rust。他们的博客文章中对 pgzx 进行了介绍。让我们来看下他们对 Zig 和 Rust 语言…

clickhouse学习笔记02(小滴课堂)

ClickHouse核心基础-常见数据类型讲解 插入数据&#xff1a; decimal类型的数据&#xff0c;整数部分超了会报错&#xff0c;小数部分超了会截取。 查看表结构&#xff1a; 查询&#xff1a; 插入&#xff1a; 更新操作&#xff1a; 这个和mysql的语句不太一样。 删除语句和my…

【算法】冒泡、选择和插入排序

目录 1. 简介2. 冒泡排序2.1 步骤2.2 C语言编码3. 选择排序步骤C语言编码4. 插入排序步骤C语言编码1. 简介 在经典排序算法中 排序算法平均时间复杂度最好情况最坏情况空间复杂度排序方式稳定性冒泡排序O ( n 2 ) O{\left(n^{2} \right)} O(n2)O ( n ) O{\left(n\right)} O(n)…