蓝桥杯刷题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();
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣hot100:207. 课程表

这是一道拓扑排序问题&#xff0c;也可以使用DFS判断图中是否存在环。详情请见&#xff1a;官方的BFS算法请忽略&#xff0c;BFS将问题的实际意义给模糊了&#xff0c;不如用普通拓扑排序思想。 数据结构&#xff1a;图的拓扑排序与关键路径 拓扑排序&#xff1a; class Sol…

手撕算法-三数之和

描述 分析 排序双指针直接看代码。 代码 public static List<List<Integer>> threeSum(int[] nums) {Arrays.sort(nums);List<List<Integer>> res new ArrayList<>();for(int k 0; k < nums.length - 2; k){if(nums[k] > 0) break; …

通讯录管理系统实现(C++版本)

1.菜单栏的设置 &#xff08;1&#xff09;我么自定义了一个showmenu函数&#xff0c;用来打印输出我们的菜单栏&#xff1b; &#xff08;2&#xff09;菜单栏里面设置一些我们的通讯录里面需要用到的功能&#xff0c;例如增加联系人&#xff0c;删除联系人等等 2.退出功能…

【Python系列】Python 中 YAML 文件与字典合并的实用技巧

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

MySQL数据库------------探索高级SQL查询语句

目录 一、常用查询 1.1按关键字排序 1.2简单的select条件查询(where) 二、排序 2.1升序排列 2.2降序排序 三、order by 查询结果排序 ①order by还可以结合where进行条件过滤&#xff0c;筛选地址是哪里的学生按分数降序排列 ②查询学生信息先按hobbyid降序排列&#…

面试官问我 ,try catch 应该在 for 循环里面还是外面?

首先 &#xff0c; 话说在前头&#xff0c; 没有什么 在里面 好 和在外面好 或者 不好的 一说。 本篇文章内容&#xff1a; 使用场景 性能分析 个人看法 1. 使用场景 为什么要把 使用场景 摆在第一个 &#xff1f; 因为本身try catch 放在 for循环 外面 和里面 &#…

(一)whatsapp 语音通话基本流程

经过了一整年的开发测试&#xff0c;终于将whatsapp 语音通话完成&#xff0c;期间主要参考webrtc的源码来实现.下面简要说一下大致的步骤 XMPP 协商 发起或者接受语音通话第一步是发起XMPP 协商&#xff0c;这个协商过程非常重要。下面是协商一个包 <call toxxxs.whatsap…

2024 年广西职业院校技能大赛高职组《云计算应用》赛项赛题第 4 套

#需要资源或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; #需要资源或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; #需要资源或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; 某企业根据自身业务需求&…

背包DP模板

01背包 01背包-1 #include <bits/stdc.h> using namespace std;const int N 1e5 10; int n, m, f[N][N], v[N], w[N];int main() {cin >> n >> m;for (int i 1; i < n; i) {cin >> v[i] >> w[i];}for (int i 1; i < n; i) {for (int…

构建多语言数字资产交易平台和秒合约系统:从概念到实现

多语言交易所开发定制秒合约平台币数字所网站制作一条龙搭建 第一步&#xff1a;需求分析 在开始搭建多语言交易所和秒合约平台之前&#xff0c;需要进行详细的需求分析&#xff0c;包括以下几个方面&#xff1a; 功能需求&#xff1a;确定交易所需要提供的功能&#xff0c;包…

要创建企业百度百科,需要注意以下技巧和原则。

&#xfffd;&#xfffd;&#xfffd;词条内容技巧 词条排版必须美观&#xff0c;内容分段&#xff0c;然后制作副标题。例如&#xff0c;一个企业的名称分为小标题&#xff0c;如企业介绍、企业文化、企业发展、企业历史和企业新闻。这不仅可以给读者一个良好的阅读&#xf…

Learn OpenGL 30 SSAO

SSAO 我们已经在前面的基础教程中简单介绍到了这部分内容&#xff1a;环境光照(Ambient Lighting)。环境光照是我们加入场景总体光照中的一个固定光照常量&#xff0c;它被用来模拟光的散射(Scattering)。在现实中&#xff0c;光线会以任意方向散射&#xff0c;它的强度是会一…

python 第一次作业

因为笔者有一些 c/c 语言的基础&#xff0c;所以应该学 python 会稍微简单一些 格式化输出的时候&#xff0c;保留2位小数的格式是 # 假设输出 a &#xff0c;并且 a 保留 2 位小数 print(%.2f%a)输入 输入的时候所有的输入都是字符串类型&#xff0c;我们需要进行类型转换 …

RHCE- 4-Web服务器(2)

基于https协议的静态网站 概念解释 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。 HTTP协议以明文方式发送内容&#xff0c;不提供任何方式的数据加密&#xff0c;如果攻击者截取了Web浏览器和网站服务器之间的传输报文&#xff0c;就可以直接读懂其中…

应用层协议 - HTTP

文章目录 目录 文章目录 前言 1 . 应用层概要 2. WWW 2.1 互联网的蓬勃发展 2.2 WWW基本概念 2.3 URI 3 . HTTP 3.1 工作过程 3.2 HTTP协议格式 3.3 HTTP请求 3.3.1 URL基本格式 3.3.2 认识方法 get方法 post方法 其他方法 3.3.2 认识请求报头 3.3.3 认识请…

day8 ARM

main.c #include"key_inc.h"//封装延时函数void delay(int ms){int i,j;for(i0;i<ms;i){for(j0;j<2000;j){}}}int main(){//按键中断的初始化key1_it_config();key2_it_config();key3_it_config();while(1){printf("in main pro\n");delay(1000);}re…

基于鹦鹉优化器(PO)的无人机路径规划

该优化算法是2024年新发表的一篇SCI二区论文&#xff0c;具有良好的实际应用和改进意义。一键运行main函数代码自动保存高质量图片 1、鹦鹉优化器 摘要&#xff1a;随机优化方法作为一种有效的技术在当代研究中得到了显著的突出&#xff0c;有效地解决了复杂的优化挑战。本文…

java的一些内部小知识,类与对象的关系

目录 1. java2. 类与对象的关系 1. java test.java ---- javac --> Test.class ---- java-----> 内存 ----> cpu 源文件 二进制代码 所有正在运行的软件都在内存中有自己的内存空间 jvm —>运行java程序的&#xff0c;java虚拟机 main(); // 内部调用run()run(i…

Fiddler抓包工具之Fiddler界面主菜单功能介绍

Fiddler界面主菜单功能介绍 File菜单 File菜单中的命令主要支持完成通过Fiddler来启动和停止web流量的捕获&#xff08;capture&#xff09;,也可以加载或存储捕获的流量 &#xff08;1&#xff09;Capture Traffic&#xff1a;默认勾选&#xff0c;勾选此项才可抓包&#xff…

什么洗地机值得推荐?高口碑品牌深度测评严选

在所有清洁电器中&#xff0c;洗地机的清洁力是大家公认的&#xff0c;像性能好的机子&#xff0c;家里的日常清洁基本都是一遍过&#xff0c;像有娃的&#xff0c;有狗子的家庭&#xff0c;再炸裂的场景&#xff0c;三两下就能还原如初&#xff01;如果你现在正在为了如何挑选…