自学内容网 自学内容网

15天大厂真题带刷day1

牛客网在线编程_算法面试_15天大厂真题带刷 (nowcoder.com)

ZT1 23年OPPO-a的翻转

描述

数字𝑎a翻转数位得到数字𝑏b,计算𝑎+𝑏a+b。

输入描述:

一个正整数𝑎  (1⩽𝑎⩽109)a(1⩽a⩽109)。保证𝑎a在十进制下每一位都非00。

输出描述:

一个正整数表示答案。

示例1

输入:

12

输出:

33

说明:

正整数𝑎=12a=12,翻转得到𝑏=21b=21,𝑎+𝑏=33a+b=33。

示例2

输入:

23

输出:

55
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        StringBuilder s = new StringBuilder();
        int c = Integer.parseInt(s.append(a).reverse().toString());
        System.out.println(a+c);
    }
}

ZT2 小美的因子查询

描述

          小美对偶数因子很感兴趣,她将进行 𝑇T 次询问,每次都会给出一个正整数 𝑥x,请你告诉她 𝑥x 是否存在至少一个偶数因子。也就是说 𝑥x 是否存在某个因子 [注1][注1] 是偶数。

          注1:𝑦y 是 𝑥x 的因子,当且仅当 𝑥 mod 𝑦=0xmody=0 。

输入描述:

          每个测试文件均包含多组测试数据。第一行输入一个整数 𝑇 (1≤𝑇≤105)T (1≤T≤105) 代表数据组数,每组测试数据描述如下:
          在一行上输入一个整数 𝑥 (1≤𝑥≤109)x (1≤x≤109) 代表小美询问的正整数。

输出描述:

          如果 𝑥x 存在至少一个偶数因子,在一行上输出 YESYES ,否则输出 NONO 。

示例1

输入:

2
1
4

输出:

NO
YES

说明:

11 不存在偶数因子,44 存在偶数因子 22 。
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int t=in.nextInt();
        int x=0;
        while(t-->0){
            x=in.nextInt();
            if(x%2==0)
            System.out.println("YES");
            else
            System.out.println("NO");
        }
    }
}

ZT3 游游的数字圈

描述

游游拿到了一串数字,她想知道这串数字一共有多少个圆圈?

提示:数字0、6、9这三种数字各有一个圆圈,数字8有两个圆圈。

输入描述:

一个字符串,仅由数字字符组成。
长度不超过100000。

输出描述:

该字符串包含的圆圈数量。

示例1

输入:

1234567890

输出:

5
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.next();
        int l1 = s.length();
        String s1 = s.replaceAll("0", "").replaceAll("6", "").replaceAll("9", "");
        int l2=s1.length();
        int ans=0;
        ans+=l1-l2;
        s1=s1.replaceAll("8","");
        int l3=s1.length();
        ans+=2*(l2-l3);
        System.out.println(ans);
    }
}

ZT4 游游的整数切割

描述

游游拿到了一个正整数,她希望将它切割成两部分,使得它们的和为偶数。游游想知道有多少种合法的切割方案?
注:切割后的正整数允许出现前导零。

输入描述:

一个正整数,大小不超过1010000010100000

输出描述:

一个整数,代表切割的方案数。

示例1

输入:

103

复制输出:

1

复制说明:

切割成1+03=4是合法的,但10+3=13为奇数,不符合要求。所以有1种合法方案。
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        //整数是不是偶数,个位数就决定
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next();

        int ans = 0;
        char last = s.charAt(s.length() - 1);

        for (int i = 0; i < s.length() - 1; i++) {
            if ((( s.charAt(i) - '0') + (last - '0')) % 2 == 0) {
                ans++;//char->int
            }
        }

        System.out.println(ans);
    }
}

ZT6 小红的字符串构造

描述

小红拿到了一个字符串𝑠s,她准备构造一个和𝑠s长度相同的字符串𝑡t:满足以下条件:
1. 𝑡t的字符集和𝑠s的相同(去重后的,也就是说不考虑数量)
2. 𝑡t的每个位置的字符都和𝑠s不同。
例如若 s="aabbc",那么𝑡t可以构造为"cbaca"。
你能帮帮小红吗?

输入描述:

输入一个仅由小写字母组成的字符串𝑠s,长度不超过 200000。

输出描述:

如果无解,请输出 -1。
否则输出任意合法的字符串。

示例1

输入:

aabbc

复制输出:

cbaca

复制说明:

 
 

"bcacb"等字符串也是合法的构造。

import java.util.Scanner; 

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.nextLine();
        // 将输入的字符串转换成字符数组
        char[] c = s.toCharArray();
        // 记录原字符串中出现的字符种类
        boolean[] flag = new boolean[26];
        for (int i = 0; i < c.length; i++) {
            flag[c[i] - 'a'] = true;
        }
        // 在每次遍历过程中,将遇到的字符变成离它距离最近的右边一个字符
        for (int i = 0; i < c.length; i++) {
            // 记录交换的标记;标记的作用是,如果改变了说明该位置的字符与原来的字符不一致;否则一致则没有变化,不符合要求,直接返回-1即可。
            boolean t = false;
            int k = c[i] - 'a';
            for (int j = k + 1; j < 26 + k; j++) {
                if (flag[j % 26]) {
                    t = true;
                    c[i] = (char) (j % 26 + 'a');
                }
            }
            if (!t) {
                System.out.println(-1);
                return ;
            }
        }
        System.out.println(new String(c));
    }
}


原文地址:https://blog.csdn.net/qq_74794797/article/details/143983331

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!