美团2021年3月13日笔试(技术综合-后台方向)1-2

1、翻转矩阵

b[j,i]=a[i,j]
输入:1、n+1行
2、第一行 n,m表示n行m列矩阵
3、下面有n行,每行有m个整数
输出:m*n矩阵
输入:3 2
1 2
3 4
5 6
输出:1 3 5
2 4 6
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] first = new int[2];
        while (sc.hasNext()){
            for (int i = 0; i <2 ; i++) {
                first[i] = sc.nextInt();
            }
            break;
        }
        int n = first[0],m = first[1];

        int[][] omat = new int[n][m];
        for (int i = 0; i <n ; i++) {
            while (sc.hasNext()){
                for (int j = 0; j < m; j++) {
                    omat[i][j] = sc.nextInt();
                }
                break;
            }
        }

        int[][] res =solver(n,m,omat);
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                System.out.print(((res[i][j])+" "));
            }
            System.out.println();
        }




    }
    public static int[][] solver(int n,int m,int[][] mat){
        int[][] res = new int[m][n];

        for (int i = 0; i < n ; i++) {
            for (int j = 0; j < m; j++) {
                res[j][i] = mat[i][j];
            }
        }
        return res;

    }



}

2、提取数字

从给定的字符串中提取数字并排序

输入:字符串
输出:k行数字
输入:as154kd12
输出:154
12

1、判断是否是数字

0<=s.charAt(i)-'0'<=9

2、使用双指针,第一个指向数字的起始索引,第二个指向数字的结束索引

字符串长度为n
f=b=0
while(f<n&&b<n){
如果 s.charAt(f)是数字
从f开始遍历字符串,停在非字符串处或字符串末尾得到数字结束索引并更新初始索引
如果不是数字
f+=1
}

3、计算数字大小

ans=0;
from f to b
ans = ans*10+s.charAt(i)-'0'

4、排序

Array.sort(arr)
package 三月十三.提取数字;

import java.util.Arrays;
import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;

public class Main {


    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        solve(s);





    }

    public static void solve(String s){



        int n = s.length();
        int first=0;
        int second=0;
        Deque<int[]> deq = new LinkedList<>();

        while(second<n&&first<n){

            int[] index = new int[2];

            if(s.charAt(first)-'0'<=9){
                index[0]=first;
                for (second = index[0]; second < n ; second++) {
                    if (first==n-1){
                        index[1] = first;
                        break;
                    }

                    if (s.charAt(second)-'0'>9){
                        index[1] = second-1;
                        first = second;
                        break;
                    }
                    if (s.charAt(second)-'0'<=9&& second==n-1){
                        index[1] = second;
                    }

                }
                deq.push(index);
            }
            first +=1;

        }


        int[] res =new int[deq.size()];
        int in =0;
        while(!deq.isEmpty()){

            int[] ind = deq.pop();
            int i_first = ind[0];
            int b_second = ind[1];

            int ans = 0;

            for (int i = i_first; i <= b_second; i++) {
                //ans = s.charAt(i)-'0';
                ans = 10*ans + (s.charAt(i)-'0');

            }
            res[in] = ans;
            in+=1;
        }
        Arrays.sort(res);
        for (int j = 0; j < res.length; j++) {

            System.out.println(res[j]);
        }


    }


}





#笔试题目##美团#
全部评论
排序太麻烦了,直接用ArrayList<String>,然后用Collections.sort方法排序(PS:我也才发现可以直接对字符串数字进行排序)
点赞 回复 分享
发布于 2021-03-13 21:54
可以使用本地IDE吗?
点赞 回复 分享
发布于 2021-03-20 14:10
请问只有这么两个编程题吗
点赞 回复 分享
发布于 2021-04-09 23:18

相关推荐

03-19 18:10
已编辑
门头沟学院 Unity3D客户端
如题,鼠鼠快碎掉了。鼠鼠正在投暑期和日常的实习,可能是因为简历太差吧,好多初筛都没有过,所以其实格外珍惜每一次的约面。尤其鼠鼠是八股选手,但凡碰到喜欢问项目的面试官是直接速通鼠掉。那是一个万里无云的晚上,鼠鼠接到tx某子公司的约面,虽然没算法题但是问得我汗流浃背。面试官从我的八股批判到我的项目继而批判到我的实习,感觉基本上除了八股这种特定答案之外每一个问题都要质问我,尤其是询问到实习的时候我解释完之后直接来了一句“那你实习也啥也没做啊”,鼠鼠直接原地碎掉。之后的问题鼠鼠也不太记得了,大部分都是直接吟诵咒语,肌肉记忆直接不过脑子。因为接二连三的压力鼠鼠直接摆烂了,回答的时候也不太看屏幕直接开始搓...
机器人为什么是猫呀:楼主要自信。好的面试官是会照顾面试者情绪的,不会直接说那么伤人的话。面试表现其实很看自己的心态跟情绪,这些又和面试官的反馈很相关。而且有些面试官很高傲,不求甚解,自认为你的东西看一眼很简单,就不会听你说了,却没有从一个没有丰富工作经验的人的角度去思考。楼主不要因为这些影响心态,不要怀疑自己,只要遇到一个“合适”的面试官就会好很多的。
点赞 评论 收藏
分享
起名字真难233:人家只有找猴子的预算,来个齐天大圣他们驾驭不住呀😂😂
点赞 评论 收藏
分享
评论
2
3
分享

创作者周榜

更多
牛客网
牛客企业服务