刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级)

这篇具有很好参考价值的文章主要介绍了刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. toUpperCase和replace创建新的字符串进行修改

2. new出来的对象都是在堆中的

3. static修饰的方法,不需要对象也可以调用

4. 在使用==和equals要注意看有没有自动拆箱的情况

5. 走方格的方案数

6. 手套

7.  全局变量在堆中,局部变量在栈中

8. abstract只能修饰类或方法,不能和final同时用

9. 出现异常会执行catch中的语句,finally不论异常有没有都会执行,出现异常后面的语句都不能正常往下执行

10. 在运算时注意类型转化问题,final修饰基本类型值不改变

11. 匿名内部类中重写equals方法

12. 注意数组下标表示范围,防止数组下标越界

13. 井字棋

14. 密码强度等级


1. toUpperCase和replace创建新的字符串进行修改

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

 这道题选D  ,首先要明确的是toUpperCase将字母小写转为大写,非字母的字符不受影响

最重要的是toUpperCase修改字母不是在原字符串上修改,而是创建新的字符串进行修改

replace也是一样,没有修改本身字符串,而是创建新的字符串进行字符替换

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构


2. new出来的对象都是在堆中的

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

 创建数组时是new出来的(比如 int[] a = new int[])

而new出来的对象都是在堆中的,所以D选项错误,数组是分配在堆中的


3. static修饰的方法,不需要对象也可以调用

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

 首先看到testMethod方法被static修饰,所以这个方法属于类本身

即使不new对象也可以直接调用,所以这里有没有null转为TestClass都不影响调用testMethod方法

所以运行正常,打印出testMethod,选F


4. 在使用==和equals要注意看有没有自动拆箱的情况

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

 == 在基本类型中比较的是值,而在引用类型中比较的是地址

这道题中 i 为基本数据类型,而j是引用数据类型,但在这里发生了自动拆箱

所以这里比较的是值 ,第一个打印true

同样equals没有重写的话也是和==一样的效果,所以第二个也是打印true,选B


5. 走方格的方案数

题目链接:走方格的方案数_牛客题霸_牛客网 (nowcoder.com)

题目要求:

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

题目分析:

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

 上代码

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while(scan.hasNext()) {
            int n = scan.nextInt();
            int m = scan.nextInt();
            System.out.println(med(n,m));
        }

    }

    private static int med(int n,int m) {
        //m==1 或 n==1
        if((n==1 && m >= 1) || (n >= 1 && m == 1)) {
            return m+n;
        }
        //n>1 && m>1
        return med(n-1,m) + med(n,m-1);
    }
}

6. 手套

题目链接:手套_牛客题霸_牛客网 (nowcoder.com)

题目要求:

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

 题目分析:

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

上代码文章来源地址https://www.toymoban.com/news/detail-656321.html

import java.util.*;

public class Gloves {
    public static int findMinimum(int n, int[] left, int[] right) {
        int leftSum = 0;
        int rightSum = 0;
        int leftMin = Integer.MAX_VALUE;
        int rightMin = Integer.MAX_VALUE;
        int sum = 0;

        for (int i = 0; i < n; i++) {
            //先判断左手或右手手套出现0的情况
            if(left[i] * right[i] == 0) {
                sum += left[i] + right[i];
            }else {
                leftSum += left[i];
                rightSum += right[i];
                if(leftMin > left[i]) {
                    leftMin = left[i];
                }
                if(rightMin > right[i]) {
                    rightMin = right[i];
                }
            }
        }
        return sum + Math.min((leftSum-leftMin+1) , (rightSum-rightMin+1)) + 1;
    }
}

7.  全局变量在堆中,局部变量在栈中

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

 刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构


8. abstract只能修饰类或方法,不能和final同时用

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

 A,default 虽然是权限修饰符,但是default只能用于接口的方法和属性中,并且使用default修饰接口方法就必须要实现这个方法

C,变量是不能够被abstract修饰的,abstract可以用来修饰类或方法

D,这个方法被abstract和final修饰,被final修饰方法是不能够被重写的

被abstract修饰的方法是要被子类重写的,这个就很矛盾了,所以D错


9. 出现异常会执行catch中的语句,finally不论异常有没有都会执行,出现异常后面的语句都不能正常往下执行

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构


10. 在运算时注意类型转化问题,final修饰基本类型值不改变

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构


11. 匿名内部类中重写equals方法

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构


12. 注意数组下标表示范围,防止数组下标越界

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

new创建数组的大小为10,那么对应数组下标就是 0-9,数组下标最大是9

而这里想打印的数组Arry_a[10]导致数组下标越界,所以选D


13. 井字棋

题目链接:井字棋_牛客题霸_牛客网 (nowcoder.com)

题目要求:

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

 题目分析:

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

 上代码

import java.util.*;

public class Board {
    public boolean checkWon(int[][] board) {

        for (int i = 0; i <= 2; i++) {
            if(board[i][0] + board[i][1] + board[i][2] == 3) {
                return true;
            }
        }
        for (int j = 0; j <= 2; j++) {
            if(board[0][j] + board[1][j] + board[2][j] == 3) {
                return true;
            }
        }
        if(board[0][0] + board[1][1] + board[2][2] == 3) {
            return true;
        }else if(board[0][2] + board[1][1] + board[2][0] == 3) {
            return true;
        }
        return false;
    }
}

14. 密码强度等级

题目链接:密码强度等级_牛客题霸_牛客网 (nowcoder.com)

题目要求:

刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

 刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级),刷题笔记,算法,java,数据结构

上代码

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
       public static void main(String[] arg) {
        Scanner scan = new Scanner(System.in);
        String str = scan.nextLine();
        char[] array = str.toCharArray();

        //1.密码长度
        int sum = 0;
        if(array.length <= 4) {
            sum = 5;
        }else if(array.length >= 8) {
            sum = 25;
        }else {
            sum = 10;
        }

        //2.字母
        int daxie = 0,xiaoxie = 0;
        for(int i = 0; i < array.length; i++) {
            if(array[i] >= 'A' && array[i] <= 'Z') {
                daxie++;
            }else if(array[i] >= 'a' && array[i] <= 'z') {
                xiaoxie++;
            }
        }
        if((daxie+xiaoxie) == 0) {
            sum += 0;
        }else if((daxie>0 && xiaoxie == 0) || (daxie == 0 &&xiaoxie >0)) {
            sum += 10;
        }else{
            sum += 20;
        }


        //3.数字
        int shuzi = 0;
        for(int i = 0; i< array.length; i++) {
            if(array[i] >= '0' && array[i] <= '9') {
                shuzi++;
            }
        }
        if(shuzi == 0) {
            sum += 0;
        }else if(shuzi == 1) {
            sum += 10;
        }else {
            sum += 20;
        }

        //4.符号
        int fuhao = 0;
        for(int i = 0; i < array.length; i++) {
            if((array[i] >= '!' && array[i] <= '/') ||
                    (array[i] >= ':' && array[i] <= '@') ||
                    (array[i] >= '[' && array[i] <= '`') ||
                    (array[i] >= '{' && array[i] <= '~')) {
                fuhao++;
            }
        }
        if(fuhao == 0) {
            sum += 0;
        }else if(fuhao == 1) {
            sum += 10;
        }else {
            sum += 25;
        }

        //5.奖励
       if((daxie> 0 && xiaoxie > 0) && (shuzi != 0) && (fuhao != 0)) {
            sum += 5;
       }else if(((daxie+xiaoxie) > 0) && (shuzi != 0) && (fuhao != 0)) {
            sum += 3;
       }else if(((daxie+xiaoxie) != 0) && (shuzi != 0) && (fuhao == 0)) {
           sum += 2;
       }

        //评分标准
        if(sum >= 90) {
            System.out.println("VERY_SECURE");
        }else if(sum < 90 && sum >= 80) {
            System.out.println("SECURE");
        }else if(sum < 80 && sum >= 70 ) {
            System.out.println("VERY_STRONG");
        }else if(sum < 70 && sum >= 60) {
            System.out.println("STRONG");
        }else if(sum < 60 && sum >= 50) {
            System.out.println("AVERAGE");
        }else if(sum < 50 && sum >= 25) {
            System.out.println("WEAK");
        }else {
            System.out.println("VERY_WEAK");
        }
    }
}

到了这里,关于刷题笔记之五(走方格的方案数+手套+井字棋+密码强度等级)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【现代密码学】笔记3.4-3.7--构造安全加密方案、CPA安全、CCA安全 《introduction to modern cryphtography》

    主要在 哈工大密码学课程 张宇老师课件 的基础上学习记录笔记。 内容补充:骆婷老师的PPT 《introduction to modern cryphtography》–Jonathan Katz, Yehuda Lindell(现代密码学——原理与协议)中相关章节 密码学复习笔记 这个博主好有意思 初步笔记,如有错误请指正 快速补充一些密码

    2024年01月24日
    浏览(35)
  • 安卓学习笔记之五:Android Studio_骰子案例3(Kotlin搭配 Jetpack Compose实现)

    使用 Compose 创建一款交互式  Dice Roller  Android 应用。 完成: 定义可组合函数。 使用组合创建布局。 使用  Button  可组合项创建按钮。 导入  drawable  资源。 使用  Image  可组合项显示图片。 使用可组合项构建交互式界面。 使用  remember  可组合项将组合中的对象存储到内

    2024年02月20日
    浏览(40)
  • FOHEART H1数据手套:连接虚拟与现实,塑造智能交互新未来

    在全新交互时代背景中,数据手套无疑是一种重要的科技产物。它不仅彻底改变了我们与虚拟世界的互动方式,更为我们提供了一种全新、更为直观的交互形式。 FOHEART H1数据手套结合了虚拟现实、手势识别等高新技术,用先进的传感技术和精准的数据捕捉能力,将人类手部

    2024年02月13日
    浏览(26)
  • 苹果急切推进印度制造,印度却反过来拿捏苹果,空手套白狼玩得溜

    外媒报道指苹果的iPhone15虽然仍然有九成在中国大陆代工生产,但是苹果仍然继续推进印度制造计划,希望打造一条与中国供应链平衡的供应链,面对苹果的迫切,印度反而不急了。 据了解苹果方面与印度谈判的时候,希望印度给予税收优惠,以帮助富士康等代工厂和产业链

    2024年02月11日
    浏览(27)
  • 前端技术搭建井字游戏(内含源码)

    上周我们实通过前端基础实现了飞机大战游戏,今天还是继续按照我们原定的节奏来带领大家完成一个井字游戏游戏,功能也比较简单简单,也是想借助这样一个简单的功能,然后来帮助大家了解我们JavaScript在前端中的作用, 在前面的文章当中我们也提及到我们在本系列的

    2024年02月05日
    浏览(36)
  • React井字棋游戏官方示例

    在本篇技术博客中,我们将介绍一个React官方示例:井字棋游戏。我们将逐步讲解代码实现,包括游戏的组件结构、状态管理、胜者判定以及历史记录功能。让我们一起开始吧! 在这个井字棋游戏中,我们有以下组件: Square 组件:表示游戏棋盘上的每一个方格。 Board 组件:

    2024年02月14日
    浏览(27)
  • 三子棋/井字棋(C语言)

    目录 game.h如下: game.c如下: text.c如下: 这个游戏需要用到三个文件 game.h头文件用来申明函数和导包 #pragma once #define ROW 3 #define COL 3 #include stdlib.h #include time.h #include stdio.h //初始化棋盘的函数 void InitBoard(char board[ROW][COL], int row, int col); //打印棋盘的函数 void DisplayBoard(char board[ROW

    2024年01月20日
    浏览(42)
  • 【核磁共振成像】方格化重建

      对于 笛卡尔K空间直线轨迹数据可直接用FFT重建 ,而如果 K空间轨迹的任何部分都是非均匀取样的 可用DFT直接重建 ,有时称为 共轭相位重建 ,但此法太慢不实用。 把数据再取样到直线格使能FFT重建要快得多 。 普遍应用的内插方法是把数据与一个平滑函数卷积再取样

    2024年02月10日
    浏览(25)
  • 用 Python 开发游戏——Python井字游戏

      🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 📣系列专栏 - 机器学习【ML】 自然语言处理【NLP】  深度学习【DL】 ​​  🖍foreword

    2023年04月26日
    浏览(28)
  • 蓝桥杯官网填空题(方格计数)

    题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 如下图所示,在二维平面上有无数个  1×1 的小方格。 我们以某个小方格的一个顶点为圆心画一个半径为  50000 的圆。 你能计算出这个圆里有多少个完整的小方格吗? 运行限制 最大

    2024年02月05日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包