#美团4-23笔试

在观星的时候,一种常用的方式是划出类似于正方形的区域内,确定其中所有星星的坐标。

现在我们在星空(一个无限大的二维平面)上建立坐标系。由于星星很小,我们忽略它的面积,认为每一个星星是一个点,且所有星星的坐标都是整数。

幸运星的定义是这一颗星星在这个平面内,正上,正下,正左,正右都有其他的星星(不一定相邻)。

现在,我们已经将这个正方形的区域取出,并且将他们所在的坐标给你。现在希望你能计算,这个平面内有多少颗幸运星?

输入
输入第一行包含一个数n,代表正方形区域内星星的总数。

接下来n行,每行两个整数xi,yi,代表这颗星星的坐标。 (n<=2000,-1000<=xi,yi<=1000,没有两颗星星的坐标是相同的。)  输出
输出包含一个数,即有多少颗星星是幸运星。


样例输入 8 0 0 0 1 0 2 0 3 1 1 1 2 -1 1 -1 2 样例输出 2  提示
样例解释:
有两颗幸运星,分别是(0,1)(0,2)  货币数值的规范化是金融公司的一个问题,现在你需要写一个程序来解决这一问题: 1.货币数值的整数部分要求每3位加一个英文逗号','(不含引号)。例如12345678应该规范化为12,345,678  2.货币数值最多只有两位小数,如果有多余的小数位数应当舍去。注意,不是四舍五入。 3.负数代表欠款,在规范化后应当在数值两端加上括号 '(' ')' ,然后省略掉负号。 4.应当在数值前面,前括号后面(如果有括号的话)加上金钱符号'$'(不含引号)

现在给你一个数字,请你规范化这一数字

输入
输入包含多种数据,每组数据一行一个数字,可能为小数,整数,负整数,负小数或者零。

数据保证数字没有前导0,保证不会出现欠0元的情况

输出
输出规范化后的内容


样例输入 203323 0.0 0.000000 0.009212121 343444323.32432 -12344.1 -12345678.9 样例输出 $203,323.00 $0.00 $0.00 $0.00 $343,444,323.32 ($12,344.10) ($12,345,678.90)  提示
范围
每个字符串长度不会超过100  现在有n名选手进行轮流报数,选手按顺序编号为1~n,另外我们会给出一个序列A,游戏会进行n轮,每轮会出局一名选手,第i轮淘汰的选手最后的排名是n-i+1,即第一轮出局的是倒数第一。出局的选手不会参与下一轮报数。

每轮游戏都是从第一个选手开始报数,即如果1号选手仍在,则从1号选手开始,否则从2号选手开始,以此类推,但是注意,每轮报数是从0开始的,第i轮时,第一个报到A[i]的选手会出局,且当前轮游戏结束。A[i]有可能大于当前的剩余人数,则最后一个人报完以后,会由第一个人接着报,直到报出A[i]。

输入
输入第一行包含一个正整数n,表示有n名选手。(1<=n<=100000)  输入第二行包含n个正整数,表示序列A(0<=A[i]<=10^9)  输出
输出包含n行,每行一个正整数,第i行的正整数表示i号选手的排名是多少。即输出是一个1~n的排列。


样例输入 4 1 2 1 2 样例输出 1 4 2 3  提示
样例解释,
第一轮中,1-4号选手报数分别是01+++代表未报数),因为A[1]=1,所以2号选手出局,排名为4。
第二轮中,1-4号选手报数为0-12-代表一出局),因为A[2]=2,所以4号选手出局,排名为3。
第三轮中,1-4号选手报数为0-1-,因为A[3]=1,所以3号选手出局,排名为2。
第四轮只有1号选手了,所以他会报所有的数字,最后出局。

第一行有两个整数n,k,代表物品的数量和人的数量。

接下来n行,每行两个整数u,v描述一个物品。u代表物品的价格,v代表商品的种类。如果v1,代表其为A类商品。如果v2,代表其为B类商品。 1<=n,k<=1000,1<=u<=1000000v{1,2}  输出
输出一行一个小数,表示所需要的最少的钱数。保留两位小数输出。


样例输入 5 2 10 1 2 2 5 2 8 1 9 1 样例输出 28.00  提示
样例解释:
第一个人只买第一个物品,第二个人买剩下的物品。
第一个人由于买了A类物品,最便宜的物品半价,付款5元
第二个人由于也买了A类物品,最便宜的物品半价,付款23元(物品二半价)
(买法不唯一)

输入第一行包括一个整数n,代表序列a的长度

接下来一行n个数,空格隔开,代表序列a  1<=n<=100000,1<=ai<=106  输出
输出n个数。

如果对于i个数,存在j[1,n],使得ai,aj不相似,输出1,否则输出-1   样例输入 4 3 5 6 1 样例输出 -1 -1 1 1  提示
样例解释:
唯一一对不相似的数是61,61的答案为1,其余为-1


自己太菜了,第一题明明很简单没有想清楚,花了40分钟没做出来,后面第二题考边界。。第三题类似剑指offer 最后一题暴力只有45的得分
public class Main2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            String in = sc.nextLine();
            int left = 0;
            if(in.startsWith("-")){
                left = 1;
            }
            int start = in.indexOf('.');
            int len = start == -1 ? in.length() - 1 : start - 1;
            String res = ".";
            int count = 1;
            for(int i = len; i >= left; i--){
                if(count == 3 && i != left){
                    res = "," +  in.charAt(i) + res;
                    count = 1;
                }else{
                    res = in.charAt(i) + res;
                    count++;
                }
            }
            if(start == -1){
                res = res + "00";
            }else{
                if(start == in.length() - 2){
                    res = res  + in.charAt(start + 1) + "0";
                }else{
                    res = res  + in.charAt(start + 1) + in.charAt(start + 2);
                }
            }
            res = '$' + res;
            if(left == 1){
                res = '(' + res + ')';
            }
            System.out.println(res);

        }
    }
}

public class Main3{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int[] seq = new int[N];
        int[] res = new int[N];
        for(int i = 0; i < N; i++){
            seq[i] = sc.nextInt();
        }
        ArrayList<Integer> child = new ArrayList<>();
        for(int i = 0; i < N; i++){
            child.add(i);
        }
        for(int i = 0; i < N; i++){
            int len = seq[i] % child.size();
            res[child.get(len)] = N - i;
            child.remove(len);
        }
        for(int i = 0; i < N; i++){
            System.out.println(res[i]);
        }

    }
}


public class Main5 {
    public static void main(String[] args) {
        Scanner sc  = new Scanner(System.in);
        int N = sc.nextInt();
        int[] seq = new int[N];
        for(int i = 0; i < N; i++){
            seq[i] = sc.nextInt();
        }
        int[] res = new int[N];
        for(int i = 0; i < N; i++){
            int j = 0;
            while(j < N){
                if(j == i){
                    j++;
                    continue;
                }
                if((seq[i] & seq[j]) == 0){
                    res[i] = 1;
                    break;
                }
                j++;
            }
            if(j == N){
                res[i] = -1;
            }
        }
        for(int i = 0; i < res.length; i++){
            System.out.println(res[i]);
        }

    }
}


#美团笔试##笔试题目##美团#
全部评论
Main5是第五题还是第四题?
点赞 回复 分享
发布于 2020-04-24 22:52
大佬申请的是什么岗
点赞 回复 分享
发布于 2020-04-24 21:34
大佬ac几个题昨天😣
点赞 回复 分享
发布于 2020-04-24 09:04
记录一下人生第一次笔试。。
点赞 回复 分享
发布于 2020-04-23 23:43

相关推荐

ResourceUtilization:四六级不愧是大学最有用的证之一
点赞 评论 收藏
分享
牛客10001:问就是六个月,全国可飞,给钱就干
点赞 评论 收藏
分享
评论
6
8
分享

创作者周榜

更多
牛客网
牛客企业服务