JAVA华为校园招聘笔试-软件2020-09-09

Posted 爱做梦的鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA华为校园招聘笔试-软件2020-09-09相关的知识,希望对你有一定的参考价值。

前言

华为三道题,100+200+300,100及格,大家做对第一题就好了,祝大家全都有心仪的offer,不要慌,不要焦虑

一、完美排列——玩具(全A)(注意:题目中说:如果不是完美排列,则输出0,没注意这种情况的应该A0.6或0.7)

代码:暴力就完事了

package huawei0909;

import java.util.Scanner;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author: 
 * @Email: 
 * @Date: 2020/9/9
 * @Time: 19:04
 * @Version: 1.0
 * @Description: Description
 */
public class First 
    public static void main(String[] args) 
        Scanner sc = new Scanner(System.in);
        int K = sc.nextInt();
        int[] perArr = new int[K];
        int[] perArr1 = new int[K];
        for (int i = 0; i < K; i++)
            perArr[i] = sc.nextInt();
        for (int i = 0; i < K; i++)
            perArr1[i] = sc.nextInt();
        int n = sc.nextInt();
        int[] arr = new int[n];
        int[] arr1 = new int[n];
        for (int i = 0; i < n; i++)
            arr[i] = sc.nextInt();
        for (int i = 0; i < n; i++)
            arr1[i] = sc.nextInt();
        sc.close();
        /*if (n<K) //必须判断,不然A0.6或0.7,因为题目中说:如果不是完美排列,则输出0,详情看下面的System.out.println(i + 1);
            System.out.println(0);
            return;
        */
        for (int i = 0; i < n; i++) 
            if (arr[i] == perArr[0] && arr1[i] == perArr1[0] && i + K - 1 < n && arr[i + K - 1] == perArr[K - 1] && arr1[i + K - 1] == perArr1[K - 1]) 
                boolean flag = true;
                int index = i;
                for (int j = 1; j < K - 1; j++) 
                    index++;
                    if (!(arr[index] == perArr[j] && arr1[index] == perArr1[j])) 
                        flag = false;
                        break;
                    
                
                if (flag)  //输出可能为0,如果没考虑到,则A0.6或0.7,因为题目中说:如果不是完美排列,则输出0
                    System.out.println(i + 1);
                    return;
                
            
        
        System.out.println(0); //必须有,不然A0.6或0.7,因为题目中说:如果不是完美排列,则输出0,详情看下面的System.out.println(i + 1);
    


二、最长的水沟(全A)

package huawei0909;

import java.util.Scanner;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author: 
 * @Email: 
 * @Date: 2020/9/9
 * @Time: 19:36
 * @Version: 1.0
 * @Description: Description
 */
public class Second 
    public static int[][] matrix;
    public static int[][] dp;
    public static int[][] k = 1, 0, 0, 1, -1, 0, 0, -1;
    public static int n, m, ans;

    public static void main(String[] args) 
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        m = sc.nextInt();
        matrix = new int[n + 1][m + 1];
        dp = new int[n + 1][m + 1];
        for (int i = 1; i <= n; i++)
            for (int j = 1; j <= m; j++)
                matrix[i][j] = sc.nextInt();
        for (int i = 1; i <= n; i++)
            for (int j = 1; j <= m; j++)
                ans = Math.max(ans, dfs(i, j));
        System.out.println(ans + 1);
    

    public static int dfs(int x, int y) 
        if (dp[x][y] != 0)
            return dp[x][y];
        for (int i = 0; i <= 3; i++) 
            int tx = x + k[i][0];
            int ty = y + k[i][1];
            if (!(tx < 1 || ty < 1 || tx > n || ty > m || matrix[tx][ty] >= matrix[x][y]))
                dp[x][y] = Math.max(dp[x][y], 1 + dfs(tx, ty));
        
        return dp[x][y];
    


三、最大异或路径(A3.33)

以上是关于JAVA华为校园招聘笔试-软件2020-09-09的主要内容,如果未能解决你的问题,请参考以下文章

华为od机考牛客网是骗人的吗

华为牛客网机试都是编程么

华为od有不是编程题的笔试吗

JAVA腾讯2021校园招聘-后台&综合-第二次笔试

JAVA腾讯2021校园招聘-后台&综合-第二次笔试

百度校园招聘-研发工程师笔试