蓝桥杯算法错题记录-基础篇

news2024/11/26 14:59:46

文章目录

  • 本文还在跟新,最新跟新时间3/11
  • !!! 格式一定要符合要求,(输入,输出格式)
  • 1. nextInt () next() nextLine() 的注意事项
  • 2 .数的幂 a^2等
  • 3.得到最大长度(最大...)问题
  • 4 . 转换数据类型int ,string,char
      • int -> string , char
      • string -> int ,char
      • char -> int , string
  • 5.判读是不是质数
  • 6. 求天、小时、分钟、秒....分析
  • 7.进制转换
    • 十六进制转化为10 进制
    • 10 -> 16
  • 8. 控制台输入的数组,存到数组中
  • 9.求123 的和 1 + 2 + 3
  • 10.最大公约数
  • 11.判断是不是回文
  • 12.二维数组排序

本文还在跟新,最新跟新时间3/11

!!! 格式一定要符合要求,(输入,输出格式)

  • 本人多次,在自己开始写的时候会输出一些结果有助于自己的理解(输出在控制台),到最后题目写好了,就提交了。但是出错。就因为一些没有必要的输出
  • 注意我们在测试的时候可能会有包名,类名不一样一定要改。起类名字的时候尽量Main+数字。到时候只要记好把包名,类名改了就是。
    在这里插入图片描述

1. nextInt () next() nextLine() 的注意事项

  • nextInt(): 该方法用于读取输入中的下一个整数,并将其作为返回值。它会读取输入的整数并且忽略输入中的换行符(\n)。
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();

要是换行 ,还要执行

scanner.nextLine();
  • nextLine(): 该方法用于读取输入中的下一行内容,并将其作为返回值。它会读取输入中的一行文本,包括换行符,并将其作为字符串返回。
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
  • next()方法分别读取这两个单词。注意,next()方法会将空格作为单词的分隔符,因此如果用户输入了多个单词,next()会依次读取每个单词。
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("请输入两个单词: ");
        String word1 = scanner.next();
        String word2 = scanner.next();

        System.out.println("第一个单词是: " + word1);
        System.out.println("第二个单词是: " + word2);

        scanner.close();
    }
}

2 .数的幂 a^2等

//比如 a 的二次幂
a * a 
//但是最好还是写成 
Math.pow(a,2);

3.得到最大长度(最大…)问题

private static String getMaxLength(String[] n1){
        int max = 0; //这种问题一般都会在循环的外面设置一个值,来存储最大值,当遇到别的最大值的时候在把原本的那个最大是够替换掉
        for (int i = 1; i < n1.length; i++) {
            if (n1[i].length() > n1[max].length()) { //n1[max].length 根据实际情况,一般因为要比最大值还要大,所以正常情况下都是要那一个值跟最大值比较。例如: a > max ? max = a  
                max = i;
            }
        }
        return n1[max];
    }

4 . 转换数据类型int ,string,char

int -> string , char

  • 将int转换为String类型:
java
int number = 123;
String strNumber = String.valueOf(number);

// fang fa 2 
java
int number = 123;
String strNumber = Integer.toString(number);
// 方法3
int numve = 123;
String strNumber = "" + number;
  • 将int转换为char类型:
int number = 65; // 代表字符'A'的ASCII码
char charNumber = (char) number;

string -> int ,char

  • 将String转换为int类型:
java
String strNumber = "123";
int number = Integer.parseInt(strNumber);
//方法2
java
String strNumber = "123";
int number = Integer.valueOf(strNumber);
  • 将String转换为char类型:
String strChar = "A";
char character = strChar.charAt(0);
  • 当将字符串转换为字符时,我们假设字符串长度为1,因为char类型只能存储一个字符

char -> int , string

  • 将char转换为int类型:
java
char character = 'A';
int asciiValue = (int) character;
//‘1’  -》 1
Character.getNumericValue(char)
  • 将char转换为String类型:
char character = 'A';
String strChar = Character.toString(character);
//方法二
char character = 'A';
String strChar = "" + character;
//要是想输出“A”
Character.getNumericValue(char)

5.判读是不是质数

 //判n 是不是质数
    private static boolean isTrue(int n){
        boolean flag = true;
        for (int i = 2; i < n; i++) {
            if (n % i == 0) {
                flag = false;
                break;
            }
        }
        return flag;
    }

6. 求天、小时、分钟、秒…分析

//n 输入的是分钟
private static String getNewTime(int n){
        int t = n / 24/ 60 ; // 在这里 因为是分钟你先/60,是不是就是小时(可能24小时以上)。你在/24 是不是就是天(可能365天以上)。同样的你在/365 就可以的到年
        int h = n / 60  % 24;// 在这里/60 是不是就是小时 ,但是小时可能>24 所以%24
        int m = n % 60; // 在这里因为n是分钟,因为n 可能大于60 所以%60 得到分钟
        return String.format(t + " " + h +" " + m ); //输出的格式,自己看题目要求
    }

7.进制转换

十六进制转化为10 进制

  • n 是输入的十六进制的数字
Integer.parseInt(n,16);

10 -> 16

//s 是输出的16进制,a 是输入的10进制
String s = Integer.toHexString(a);

8. 控制台输入的数组,存到数组中

Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        scanner.nextLine();
        //把数据存入到arr[][] 中
        int[][] arrs = new int[n][m];
        for (int i = 0; i < n; i++) {
            String[] s = scanner.nextLine.split(" ");
            for (int j = 0; j < m; j++) {
                arrs[i][j] = Integer.parseInt(s[j]);
            }
        }
        for (int i = 0; i < n; i++) {
            System.out.println(Arrays.toString(chars[i]));
        }

控制台输入:
30 20
9719 7515 5916 6467 7157 9614 8560 9075 2099 2838 1403 7652 6238 1699 8907 1804 5384 7942 7546 1978
8785 1944 8108 6040 2010 6646 2750 5410 4516 8757 5624 9257 9030 9290 6833 4646 9749 5304 5633 1573
8525 8244 8514 7474 7896 9731 8402 9036 1869 2688 2085 1667 7753 8466 4911 3812 8585 8319 4020 7350
1949 9120 4424 4057 8277 4511 6333 1533 7624 8932 1053 8682 9284 4134 1466 3607 8753 5310 3728 4163
9420 9185 7055 2342 4143 4499 2036 5374 7026 8638 8866 8364 1706 8767 1601 8309 5695 8179 4142 8489
5876 5660 4658 8307 2582 7544 8793 8207 3979 1692 1400 1893 4500 6389 7198 4836 4761 6603 2859 1312
6367 4174 9956 6668 6771 4795 6492 3937 7096 8041 8644 9379 8071 8667 5810 5794 8147 3823 7877 4822
4809 3297 8518 4972 9754 6854 3271 7891 8882 1052 3197 6035 5628 7674 7931 8085 8970 7733 4745 8785
7536 1511 6964 4763 5409 7032 8963 8576 3411 5853 3316 1267 7851 2735 6953 2970 1810 6830 5576 6903
2241 1575 2379 4679 9519 9290 4802 1562 3509 8365 6777 5143 5610 1061 7880 1935 5793 7023 5629 9571
2480 5937 4612 8890 1964 8532 3309 9737 8507 1849 8544 1500 9282 6288 2137 4730 4239 3473 4643 6377
7341 2881 3430 5815 1972 6629 3817 4547 7561 4779 6578 6114 4972 5505 7515 1800 4784 2272 4502 7541
7665 8607 2022 8192 2605 1346 4155 8725 8167 7022 6136 3615 6057 6329 8671 2033 3151 2249 5981 6412
9046 3353 8650 6965 4179 1248 5659 5219 8083 5615 3821 4436 9217 7356 3914 5717 3734 3765 4435 7210
8951 5013 2951 7401 2329 5686 6530 9581 6539 6881 8634 2663 2916 3019 8529 5645 8201 9270 1939 7275
6429 1531 6322 9586 2793 7968 4001 9665 7624 4369 6245 5146 9567 6801 6064 6199 3210 6753 2586 7795
5771 8507 7973 1470 1475 6896 6781 6572 8412 8557 8255 5268 8960 7251 9214 2489 6920 9917 3810 4605
9116 7950 3715 1697 4703 2868 8673 3106 2579 1074 3992 3547 4279 3149 3396 6081 6221 1125 9358 2471
8360 1526 4116 9278 6325 5175 5533 4107 7522 7599 7711 9211 1752 2431 8321 3844 3579 1047 3987 8487
7600 2401 8748 8945 2078 1519 4614 4576 5706 4040 9358 1928 1327 6699 5258 2846 3418 8310 1249 3866
7796 8668 4087 4258 8992 8996 4617 5997 2527 8204 8927 1456 9340 2088 1605 2299 9878 8347 7789 2122
8372 1102 4243 4208 1651 7861 4947 7802 4704 6204 4455 6012 8494 9060 3747 2786 2136 1830 7424 8309
6919 4420 2031 5399 2652 7219 4048 7013 5094 5276 4225 5976 4157 6722 8765 4679 1604 4986 5033 2623
4015 2297 3067 6261 6623 4577 4589 4747 6659 7667 7853 4040 6393 9606 7219 9334 1316 3430 9963 5187
4998 3735 9884 2990 1374 8436 6674 3018 5714 9352 8708 8789 7879 2965 1444 4671 4743 9817 6066 8057
6996 9609 2884 4601 7287 3432 4145 8858 6857 8624 4531 6579 1615 2894 4521 3274 5237 1093 3317 9289
7117 1850 3210 8010 2512 1394 4718 9332 5593 4118 4995 3994 5063 9426 1709 5128 4997 9287 1907 9068
4258 7328 6490 2603 5333 5093 8070 2116 8489 1994 7098 7409 1463 4268 9509 2358 1192 2460 5031 6292
4911 1192 1012 2494 5276 8981 3540 3306 8869 6678 7879 7526 8847 6270 7653 3109 6955 9760 8520 8673
6328 7277 7818 3285 9398 4929 4639 1617 4023 1051 9320 4955 6580 6481 3824 9611 2863 6492 6281 6203

9.求123 的和 1 + 2 + 3

  • 本人这里判断了一下和是不是等与特定值
 //求和
    private static boolean isSum(int n){
        int sum = 0 ;
        while (n > 0){
            int yv = n % 10;
            int zhen = n / 10;
            n = zhen;
            sum += yv;
        }
        if (sum == 23) {
            return true;
        }else {
            return false;
        }
    }
//2
private static int sumOfDigits(int num) {
        int sum = 0;
        while (num > 0) {
            sum += num % 10;
            num /= 10;
        }
        return sum;
    }

10.最大公约数

//n1 n2 指的是两个数 return n1 输出了最大共约数
private static int isMax(int n1 ,int n2){
        while (n2!= 0){
            int r = n1 % n2;
            n1 = n2;
            n2 = r;
        }
        return n1;
    }

11.判断是不是回文

// 判断一个数字是否为回文数
    private static boolean isPalindrome(int num) {
        String numStr = String.valueOf(num);
        int left = 0, right = numStr.length() - 1;
        while (left < right) {
            if (numStr.charAt(left) != numStr.charAt(right)) {
                return false;
            }
            left++;
            right--;
        }
        return true;
    }

12.二维数组排序

package text_to_10;

import java.util.Arrays;
import java.util.Comparator;

public class text4 {
    public static void main(String[] args) {
        int[][] twoDArray = {{8, 9, 1}, {6, 5, 4}, {9, 8, 7}};

        // 使用Comparator对二维数组按照一维数组的和进行排序
        Arrays.sort(twoDArray, new Comparator<int[]>() {
            @Override
            public int compare(int[] a, int[] b) {
                int sumA = Arrays.stream(a).sum(); // 计算a数组的和
                int sumB = Arrays.stream(b).sum(); // 计算b数组的和
                return Integer.compare(sumA, sumB);
            }
        });

        // 打印排序后的二维数组
        for (int[] arr : twoDArray) {
            System.out.println(Arrays.toString(arr));
        }
    }
}

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

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

相关文章

Redis缓存问题详解和处理

缓存更新策略 缓存穿透 缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库. 常见的解决方案: 缓存空对象 优点: 实现简单, 维护方便缺点: 额外的内存消耗, 可能造成短期的不一致 布隆过滤 优点: 内存占用较少(保存的是数据…

【0基础学C语言】04-常量、变量

一、数据的存储 1.数据类型 首先来看看计算机是怎么存储数据的。总的来说,计算机中存储的数据可以分为两种:静态数据和动态数据。 1> 静态数据 概念:静态数据是指一些永久性的数据,一般存储在硬盘中。硬盘的存储空间一般都比较大,现在普通计算机的硬盘都有500G左右…

Leetcode每日一题[C++]-1261.在受污染的二叉树中查找元素

题目描述 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 给出一个满足下述规则的二叉树&#xff1a; root.val 0如果 treeNode.val x 且 treeNode.left ! null&#xff0c;那么 treeNode.left.val 2 * x 1如果 treeNode.val x 且 treeNode.right ! nu…

这些年背过的面试题——SpringMVC篇

1 什么是SpringMVC &#xff1f;简单介绍下你对SpringMVC的理解? SpringMVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架&#xff0c;通过把Model&#xff0c;View&#xff0c;Controller分离&#xff0c;将web层进行职责解耦&#xff0c;把复杂的web应用…

ST MotorControl Workbench 6.2.1 使用总结

目录 前言 软件安装 根据自己硬件配置参数 生成代码 开发板运行 ​ 总结 前言 好久没有玩ST的电机库了&#xff0c;已经更新到了MotorControl Workbench 6.2.1&#xff0c;6以上的版本比5的版本界面操作有很大的不同&#xff0c;核心算法有些增加。最近体验了一把使用自…

jeecg 启动 微服务 更改配置本地host地址

1. windows系统下&#xff0c;在开始—运行里面输入(找不到运行菜单可直接按WinR键)&#xff1a; C:\WINDOWS\system32\drivers\etc &#xff0c;如图所示&#xff1a; 2. 用记事本 打开这个文件 在最下面输入这个即可

G. Rudolf and Subway

解题思路 每条边的边权可选&#xff0c;由颜色决定同一颜色的线路可以直达颜色最多有种考虑将颜色视作链接点&#xff0c;进行分层图跑最短路最终结果除2最多建条边&#xff08;直接存状态Map跑最短路被毙掉了&#xff09; import java.io.*; import java.math.BigInteger; im…

【案例】IPC 中的WinCC RT Advanced PC项目,如何下载及开机自动启动?

导读&#xff1a;TIA WinCC Advanced (高级版)V17项目如何下载到目标计算机&#xff08;需要运行项目的电脑&#xff09;&#xff1f; 01WinCC RT Adv项目下载 1、在计算机开始菜单中点击“运行”或通过Win键R调出运行窗口&#xff0c;并输入 CMD 然后回车&#xff1a; 打开 W…

虚拟化

什么是虚拟化 虚拟化&#xff08;Virtualization&#xff09;是一种资源分配和管理技术&#xff0c;是将计算机的各种实体资源,比如CPU、内存、磁盘空间、网络适配器等&#xff0c;进行抽象转换后虚拟的设备,可以实现灵活地分割、组合为一个或多个计算机配置环境&#xff0c;并…

rt-thread组件之audio组件(结合mp3player包使用)

前言 继上一篇RT-Thread组件之Audio框架i2s驱动的编写的编写&#xff0c;应用层使用rt-thread软件包里面的wavplayer组件以及 rt-thread组件之audio组件(结合wavplayer包使用)的文章本篇使用的是 mp3player软件包&#xff0c;与wavplayer设计框架基本上是一样的&#xff0c;只…

万字完整版【C语言】指针详解~

一、前言 初始指针&#xff08;0&#xff09;&#xff1a;着重于讲解指针的概念、基本用法、注意事项、以及最后如何规范使用指针深入指针&#xff08;1&#xff09;&#xff1a;讲解指针变量常见的类型&#xff0c;如何去理解这些类型、最后就是如何正确的使用深入指针&#…

语音情感基座模型emotion2vec

在语音技术领域&#xff0c;准确理解用户的语音指令和意图是构建高效人机交互系统的基础。一个高品质的语音交互系统不仅需要理解字面上的语言内容&#xff0c;更应捕捉到说话者语音中蕴含的情感信息。这正是语音情感识别&#xff08;SER&#xff09;技术要解决的问题&#xff…

【libwebrtc】基于m114的构建

libwebrtc A C++ wrapper for binary release, mainly used for flutter-webrtc desktop (windows, linux, embedded).是 基于m114版本的webrtc 最新(20240309 ) 的是m122了。官方给出的构建过程 .gclient 文件 solutions = [{"name" : src,"url

Caffeine缓存

本地缓存基于本地环境的内存&#xff0c;访问速度非常快&#xff0c;对于一些变更频率低、实时性要求低的数据&#xff0c;可以放在本地缓存中&#xff0c;提升访问速度 使用本地缓存能够减少和Redis类的远程缓存间的数据交互&#xff0c;减少网络 I/O 开销&#xff0c;降低这…

Python 导入Excel三维坐标数据 生成三维曲面地形图(体) 5-1、线条平滑曲面且可通过面观察柱体变化(一)

环境和包: 环境 python:python-3.12.0-amd64包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 代码: import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata fro…

【软考中级】网络工程师:11.网络管理

11.1 网络管理五大功能域 故障管理、配置管理、计费管理、安全管理和性能管理。 故障管理&#xff1a;尽快发现故障&#xff0c;找出故障原因&#xff0c;以便找出补救措施。 配置管理&#xff1a;初始化、维护和关闭网络设备或子系统。 计费管理&#xff1a;计费监视主要是跟…

dubbo调用的自定义过滤器中设置MDC无法生效的问题

AI的解释 Dubbo自定义过滤器不生效可能有多种原因&#xff0c;以下是一些常见的原因及解决方法&#xff1a; 过滤器未正确配置&#xff1a; 检查过滤器是否已经在Dubbo的配置文件中正确声明&#xff0c;并且已经添加到过滤器链中。在XML配置中&#xff0c;应使用<dubbo:se…

Ubuntu 14.04:PaddleOCR基于PaddleServing的在线服务化部署(失败)

一、 二、安装 注&#xff1a; 安装 PaddleOCR 2.3 。 因为 PaddleOCR 2.4 的 推荐环境 PaddlePaddle > 2.1.2。 https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.4/doc/doc_ch/environment.md 安装前的环境准备 在使用Paddle Serving之前&#xff0c;需要完…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的常见车型识别系统(Python+PySide6界面+训练代码)

摘要&#xff1a;本文深入探讨了如何应用深度学习技术开发一个先进的常见车型识别系统。该系统核心采用最新的YOLOv8算法&#xff0c;并与早期的YOLOv7、YOLOv6、YOLOv5等版本进行性能比较&#xff0c;主要评估指标包括mAP和F1 Score等。详细解析了YOLOv8的工作机制&#xff0c…

【力扣白嫖日记】1321.餐馆营业额变化增长

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 1321.餐馆营业额变化增长 表&#xff1a;Customer 列名类型cutomer_idintnamevarcharvisited_ondateamounti…