码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 刷题笔记之三(统计回文+连续最大和+查找组成一个偶数最接近的两个素数+把字符串转换成整数+不要二)


    目录

    1. this()构造方法的调用,super()父类成员变量或方法的调用

    2. 浮点型 和 long 不能做 switch() 的参数类型

    3. .java源文件中,只能有一个和文件名相同的public类,可以包含其他类

    4. ConcurrentHashMap使用通过volatile修饰符和后插入后特殊的算法实现读不加锁.

    5. final表示属性的不可变及方法的不可重写

    7. 统计回文

    8. 连续最大和

    9. 查找组成一个偶数最接近的两个素数

    10. 构造方法可以重载,子类可以通过super调用父类构造方法​编辑

    11. 数据类型的转换

    12. 三目运算符套三目运算符的计算顺序,从后往前

    13. HashMap使用链地址法解决哈希冲突

    14. 把字符串转换成整数

    15.  不要二


    1. this()构造方法的调用,super()父类成员变量或方法的调用

     this的作用,在构造方法中可以调用其他构造方法,this()

    super的作用,在子类中访问父类的成员变量和成员方法   super()

    这道题问的是构造方法调用,选B


    2. 浮点型 和 long 不能做 switch() 的参数类型

    switch的括号内只能是以下类型的表达式:

    基本类型:byte,cahr,short,int,注意不能是long和浮点类型

    引用类型:String常量串,枚举类型


    3. .java源文件中,只能有一个和文件名相同的public类,可以包含其他类

     .java源文件中,可以有很多个类,但这些类中,必须要有一个和文件名相同并且被public修饰的类


    4. ConcurrentHashMap使用通过volatile修饰符和后插入后特殊的算法实现读不加锁.

    ConcurrentHashMap使用通过volatile修饰符和后插入后特殊的算法实现读不加锁.

    HashMap实现了Map接口

    Array.asList返回的ArrayList不是util包中的ArrayList,而是Arrays类的一个继承了AbstractList内部类


    5. final表示属性的不可变及方法的不可重写


    7. 统计回文

    题目链接:统计回文_牛客题霸_牛客网 (nowcoder.com)

    题目要求:

    题目分析:

    上代码

    1. import java.util.Scanner;
    2. // 注意类名必须为 Main, 不要有任何 package xxx 信息
    3. public class Main {
    4. public static void main(String[] args) {
    5. Scanner scan = new Scanner(System.in);
    6. String str1 = scan.nextLine();
    7. String str2 = scan.nextLine();
    8. //1.找到插入位置
    9. int len = str1.length();
    10. int count = 0;
    11. for(int i = 0; i <= len; i++) {
    12. StringBuilder sb = new StringBuilder(str1);
    13. sb.insert(i,str2);
    14. //反转会改变原字符串,所以这里再拷贝一份原字符串
    15. StringBuilder sb1 = new StringBuilder(sb);
    16. StringBuilder sb2 = sb1.reverse();
    17. //2.判断回文
    18. //StringBuilder中没有重写equals方法,所以要转为String
    19. if(sb.toString().equals(sb2.toString())) {
    20. count++;
    21. }
    22. }
    23. System.out.println(count);
    24. }
    25. }

    8. 连续最大和

    题目链接:连续最大和_牛客题霸_牛客网 (nowcoder.com)

    题目要求:

     题目分析:

    状态方程式:max(dp[i]) = getMax(max(dp[i-1]) + arr[i],arr[i])

    dp[i]就是以数组下标为i的数做为结尾的最大子序列和

     用状态方程式求得两种情况的最大者sum,然后先和max = arr[0],比较如果sum大,就把sum传给max,一直这样循环,直到走到最后求得最大连续子树组和max

    上代码

    1. import java.util.*;
    2. // 注意类名必须为 Main, 不要有任何 package xxx 信息
    3. public class Main {
    4. private static int getMax(int a, int b) {
    5. return a > b ? a : b;
    6. }
    7. public static void main(String[] args) {
    8. Scanner scan = new Scanner(System.in);
    9. int n = scan.nextInt();
    10. int[] array = new int[n];
    11. for(int i = 0; i < n; i++) {
    12. array[i] = scan.nextInt();
    13. }
    14. int sum = array[0];
    15. int max = array[0];
    16. for(int i = 0; i < n; i++) {
    17. sum = getMax(sum+array[i],array[i]);
    18. if(sum > max) {
    19. max = sum;
    20. }
    21. }
    22. System.out.println(max);
    23. }
    24. }

    9. 查找组成一个偶数最接近的两个素数

    题目链接:查找组成一个偶数最接近的两个素数_牛客题霸_牛客网 (nowcoder.com)

    题目要求:

    题目分析:

    上代码

    1. package 改;
    2. import java.util.Scanner;
    3. public class day12_2_查找组成一个偶数最接近的两个素数 {
    4. public static void main(String[] args) {
    5. Scanner scan = new Scanner(System.in);
    6. while (scan.hasNextInt()) {
    7. int n = scan.nextInt();
    8. for(int i = n/2; i > 0; i--) {
    9. if(isPrime(i) && isPrime(n-i)) {
    10. System.out.println(i);
    11. System.out.println(n-i);
    12. break;
    13. }
    14. }
    15. }
    16. }
    17. private static boolean isPrime(int a) {
    18. for(int i = 2; i < a; i++) {
    19. if(a%i == 0) {
    20. return false;
    21. }
    22. }
    23. return true;
    24. }
    25. }

    10. 构造方法可以重载,子类可以通过super调用父类构造方法

     java语言中构造方法可以重载,并且可以通过new来自动调用构造方法,也可以在子类通过super调用父类的构造方法,所以CD错误


    11. 数据类型的转换

    首先,明确java中八进制和十六进制的表示方式, 

    表示八进制,前面加0,如int a = 012;

    表示十六进制,前面加0x或者0X,如 int a = 0x23;

    A选项是表示8进制的数,test = 10。10是int类型,test是long,小赋值给大,自动类型转换,A对

    B选是 f 是 float类型的,-412是int类型的,小赋值给大的,自动类型转换,B对

    C选项时 true是boolean类型的,不能强制类型转换为int,C错

    D选,0x12345678是十六进制数,用double来接收还是发生自动类型转换D对

    E,byte占一个字节,表示范围是-128-127,E选项这里给b赋值了128,超过这个范围了,E错

    12. 三目运算符套三目运算符的计算顺序,从后往前

    13. HashMap使用链地址法解决哈希冲突

     上面的四种都是解决哈希冲突的方法,但是

    在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,
    而JDK1.8中,HashMap采用位桶+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间,但是也是使用链地址法。

    所以总的来说选C


    14. 把字符串转换成整数

    题目链接:把字符串转换成整数_牛客题霸_牛客网 (nowcoder.com)

    题目要求:

    题目分析:

    上代码

    1. public class Solution {
    2. public int StrToInt(String str) {
    3. if(str == null || str.isEmpty()) {
    4. return 0;
    5. }
    6. int flag = 1;
    7. int sum = 0;
    8. for(int i = 0; i < str.length(); i++) {
    9. if(str.charAt(i) >= '0' && str.charAt(i) <= '9') {
    10. sum = sum*10 + (str.charAt(i) - '0');
    11. }else if(str.charAt(0) == '-') {
    12. flag = -1;
    13. }else if(str.charAt(0) == '+') {
    14. flag = 1;
    15. }else {
    16. return 0;
    17. }
    18. }
    19. sum = sum*flag;
    20. return sum;
    21. }
    22. }

    15.  不要二

    题目链接:不要二_牛客题霸_牛客网 (nowcoder.com)

    题目要求:

    题目分析:

    上代码

    1. import java.util.Scanner;
    2. public class Main {
    3. public static void main(String[] args) {
    4. Scanner in = new Scanner(System.in);
    5. int w = in.nextInt();
    6. int h = in.nextInt();
    7. int[][] array = new int[w][h];
    8. int count = 0;
    9. for(int i = 0; i < w; i++) {
    10. for(int j = 0; j < h; j++) {
    11. //当arr[i][j]为0时才可以放蛋糕count++,为1时不可以
    12. if(array[i][j] == 0) {
    13. count++;
    14. if(j+2 < h) {
    15. array[i][j+2] = 1;
    16. }
    17. if(i+2 < w) {
    18. array[i+2][j] = 1;
    19. }
    20. }
    21. }
    22. }
    23. System.out.println(count);
    24. }
    25. }

  • 相关阅读:
    【问题处理小知识】jupyter notebook报错:500 internal server error的几种解决办法整理
    YOLOv5改进原创 HFAMPAN 结构,信息高阶特征对齐融合和注入,全局融合多级特征,将全局信息注入更高级别
    无涯教程-JavaScript - BIN2HEX函数
    .NET 6 数组拷贝性能对比
    华清 Qt day4 9月20
    【每日一题】数据流中的中位数
    GPT引领前沿与应用突破之GPT4科研实践技术与AI绘图教程
    JVM完整图文学习笔记(含拓展知识广度学习)第二章:GC垃圾回收
    2023年中国研究生数学建模竞赛D题
    Spring Data JPA 原理与实战第五天 Jackon相关使用
  • 原文地址:https://blog.csdn.net/m0_58761900/article/details/127446011
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号