• 分界线-积木游戏 demo


     

    目录

    匿名信

    题目描述:

    输入描述

    输出描述:

    示例:

    Java实现 (期待看官能够修复一下, 害):

    二、积木游戏

    题目描述:

    输入描述

    输出描述

    补充说明

    示例

    Java代码实现


    匿名信

    题目描述:

    电视剧《分界线》里面有一个片段,男主为了向警察透露案件细节,且不暴露自己,于是将报刊上的字
    剪切下来,剪拼成匿名信。
    现在有一名举报人,希望借鉴这种手段,使用英文报刊完成举报操作。
    但为了增加文章的混淆度,只需满足每个单词中字母数量一致即可,不关注每个字母的顺序。
    解释:单词 'on' 允许通过单词 'no' 进行替代。
    报纸代表 newspaper , 匿名信代表 anonymousLetter , 求报纸内容是否可以拼成匿名信。

    输入描述

    第一行输入 newspaper 内容,包括 1 - N 个字符串,用空格分开
    第二行输入 anonymousLetter 内容,包括 1 - N 个字符串,用空格分开
    1 newspaper anonymousLetter 的字符串由小写英文字母组成且每个字母只能使用一次
    2 newspaper 内容中的每个字符串字母顺序可以任意调整 , 但必须保证字符串的完整性 ( 每个字符串不
    能有多余字母 )
    3 1 < N < 100 1 <= newspaper . length anonymousLetter . length <= 10

    输出描述:

    如果报纸可以拼成匿名信返回 true ,否则返回 false

    示例:

     
     
    示例 1
    输入 :
    ab cd
    ab
    输出: true
    示例 2
    输入:
    ab ef
    aef
    输出: false
    示例 3
    输入:
    ab bcd ef
    cbd fe
    输出: true
    示例 4
    输入:
    ab bcd ef
    cd ef
    输出: false
    示例 5
    输入:
    wood wood wood
    wodo wdoo
    输出: true
    示例 6
    输入:
    wood
    wodo wood
    输出: false

    Java实现 (期待看官能够修复一下, 害):

    1. public static void main(String[] args) {
    2. Scanner scanner = new Scanner(System.in);
    3. String newspaper = scanner.nextLine();
    4. String anonymous = scanner.nextLine();
    5. String[] newspaperArray = newspaper.split(" ");
    6. String[] anonymousArray = anonymous.split(" ");
    7. TreeSet set = new TreeSet<>();
    8. for (String news : newspaperArray) {
    9. char[] charArray = news.toCharArray();
    10. Arrays.sort(charArray);
    11. String value = String.valueOf(charArray);
    12. if (!set.contains(value)) {
    13. set.add(value);
    14. }
    15. }
    16. boolean canAppend = true;
    17. for (String anonymousStr : anonymousArray) {
    18. char[] anonymousCharArray = anonymousStr.toCharArray();
    19. Arrays.sort(anonymousCharArray);
    20. String sortedAnonymous = String.valueOf(anonymousCharArray);
    21. //set里面没有拼出来 就返回false
    22. if (!set.contains(sortedAnonymous)) {
    23. canAppend = false;
    24. break;
    25. }
    26. }
    27. System.out.println(canAppend ? "true" : "false");
    28. }

    二、积木游戏

    题目描述:

    小华和小薇一起通过玩积木游戏学习数学。
    他们有很多积木,每个积木块上都有一个数字,积木块上的数字可能相同。
    小华随机拿一些积木挨着排成一排,请小薇找到这排积木中数字相同且所处位置最远的 2 块积木块,计
    算他们的距离。
    小薇请你帮忙替解决这个问题。

    输入描述

    第一行输入为 N ,表示小华排成一排的积木总数。
    接下来 N 行每行一个数字,表示小华排成一排的积木上数字。

    输出描述

    相同数字的积木的位置最远距离;
    如果所有积木数字都不相同,请返回 - 1.

    补充说明

    0 <= 积木上的数字 < 10 ^9
    1 <= 积木长度 <= 10 ^5

    示例

    示例 1
    输入:
    5
    1
    2
    3
    1
    4
    输出: 3
    说明:一共有 5 个积木,第 1 个积木和第 4 个积木数字相同,其距离为 3 ;
    输入:
    2
    1
    2
    输出: - 1
    说明:一共有 2 个积木,没有积木数字相同,返回 - 1 ;

    Java代码实现

    1. public static void main(String[] args) {
    2. Scanner sc = new Scanner(System.in);
    3. int N = sc.nextInt();
    4. int[] nums = new int[N];
    5. for (int i = 0; i < N; i++) {
    6. nums[i] = sc.nextInt();
    7. }
    8. System.out.println(findMaxDistance(nums));
    9. }
    10. public static int findMaxDistance(int[] nums) {
    11. Map map = new HashMap<>();
    12. int maxDistance = -1;
    13. for (int i = 0; i < nums.length; i++) {
    14. if (map.containsKey(nums[i])) {
    15. //这段代码是计算最大距离的。
    16. //首先,定义了一个变量maxDistance来存储最大距离,初始值为-1。
    17. //然后,使用一个循环遍历输入的积木上的数字。在每次循环中,通过map.get(nums[i])获取当前数字在HashMap中对应的位置。如果该位置存在(即之前已经出现过这个数字),则计算当前位置与之前出现该数字的位置之间的距离,并更新maxDistance为较大的那个值。如果该位置不存在(即之前没有出现过这个数字),则将当前位置存入HashMap中。
    18. //最后,返回maxDistance作为结果。
    19. maxDistance = Math.max(maxDistance, i - map.get(nums[i]));
    20. } else {
    21. map.put(nums[i], i);
    22. }
    23. }
    24. return maxDistance;
    25. }

            

  • 相关阅读:
    【WSL】仅适用于装C盘情况-用WSL在win10安装LInux
    【Express】路由
    wcdma基站的重选和切换
    HTML5使用Ajax上传文件
    微信公众号的服务器后台
    互联网发展从红利到实力,行业内卷“升级”
    BUUCTF Misc 假如给我三天光明 & 数据包中的线索 & 后门查杀 & webshell后门
    第三十六章 使用 CSP 进行基于标签的开发 - 使用尽可能少的#server和#call调用
    c语言实现通讯录
    信贷风控四:高校地址自动化识别
  • 原文地址:https://blog.csdn.net/sqL520lT/article/details/132914594