小米笔试题


Leetcode 977. 有序数组的平方

在这里插入图片描述

class Solution {
    public int[] sortedSquares(int[] A) {
     int start=0;
    int end=A.length-1;
    int i=end;
    int B[]=new int[A.length];
    while(i>=0){
        B[i--]=A[start]*A[start]>=A[end]*A[end]?A[start]*A[start++] : A[end]*A[end--];
    }
        for (int j = 0; j <B.length ; j++) {
            System.out.print(B[j]+" ");
        }
        return B;
    }
}

密码生成器

注册网站时,需要使用包含不同类型(数字、符号、大写字母、小写字母)的字符,和特定长度。检查一个密码内容同时包含以上 4 种类型的字符,并且长度在8-120 个字符之间。符合要求,返回 0;长度不符合返回 1;类型不符合要求返还 2。
可以一次输入多组密码,以空格符间隔,空格符不作为密码。
输入描述
需要验证的密码,多个密码以空格符间隔,空格符不作为密码的一部分
输出描述
每个密码的检查结果,每个结果需要换行输出
样例输入
123 12345678 123abcABC!!!
样例输出
1
2
0

package 笔试.小米;

import java.util.Scanner;

public class Mima {
    /**
     * 数字、符号、大写字母、小写字母)的字符,和特定长度。
     * 检查一个密码内容同时包含以上 4 种类型的字符,
     * 并且长度在8-120 个字符之间
     *
     * @param args
     */

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String str = sc.next();
            mima(str);
        }
    }


    public static void mima(String str) {
        int n = str.length();
        char[] code=str.toCharArray();

        if (str.length() > 120 || str.length() < 8) {
            System.out.println(1);
            return;
        }

        boolean num = false, symbol = false, D = false, X = false;
        for (int i = 0; i < n; ++i) {
            if (num == true && symbol == true && D == true && X == true){
                System.out.println(0);
                return;
            }
            if (code[i] >= '0' && code[i] <= '9') num = true;
            if (code[i] >= 'a' && code[i] <= 'z') X = true;
            if (code[i] >= 'A' && code[i] <= 'Z') D = true;
            else symbol = true;
        }

        System.out.println(2);
    }

}

Leetcode79 单词搜索

class Solution { 
    public boolean exist(char[][] board, String word) {
         char[] words=word.toCharArray(); 
          for(int i=0;i<board.length;i++){
             for(int j=0;j<board[0].length;j++){
               if(dfs(board,words,i,j,0))
               return true;
             }
          }         
             return false;
    }


   public boolean dfs(char[][] board,char[] words,int i,int j,int k){
          
          if(i>=board.length||i<0||j>=board[0].length||j<0||board[i][j]!=words[k]) return false;
          if(k==words.length-1) return true;

          char temp=board[i][j];
          board[i][j]=' ';

          boolean res=dfs(board,words,i+1,j,k+1)||dfs(board,words,i-1,j,k+1)||dfs(board,words,i,j+1,k+1)||dfs(board,words,i,j-1,k+1);
          board[i][j]=temp;

          return res;

   }

}
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页