• LeetCode 893. Groups of Special-Equivalent Strings (特殊等价字符串组)


    题目标签:String

     题目可以让在 偶数位置的 chars 互换, 也可以让 在 奇数位置的 chars 互换。

     所以为了 return 正确的 group 数量,需要把 那些重复的 给排除掉。

     可以把在 偶数位置的 chars 都拿出来 组成一个 string a, 同样的把 在奇数位置上的 chars 都拿出来组成一个 string b,分别把a 和 b 排序一下,再把两个a 和 b组合并且存入 HashSet。

     最后只要返回 HashSet 的 size 就可以了。

    Java Solution:

    Runtime beats 74.65% 

    完成日期:10/24/2018

    关键点:把偶数位置 和 奇数位置的 chars 分别组成string,再排序,再组成新的String

     1 class Solution 
     2 {
     3     public int numSpecialEquivGroups(String[] A) 
     4     {
     5         Set<String> seen = new HashSet<>();
     6         
     7         for(String str: A)
     8         {
     9             String evenStr = "";
    10             String oddStr = "";
    11             
    12             for(int i = 0; i < str.length(); i++)
    13             {
    14                 if(i % 2 == 0) // even index
    15                 {
    16                     evenStr += str.charAt(i);
    17                 }
    18                 else // odd index
    19                 {
    20                     oddStr += str.charAt(i);
    21                 }
    22             }
    23             
    24             seen.add(sortString(evenStr) + sortString(oddStr));
    25             
    26         }
    27         
    28         return seen.size();
    29     }
    30     
    31     private String sortString(String s)
    32     {
    33         char[] arr = s.toCharArray();
    34         Arrays.sort(arr);
    35         
    36         return new String(arr);
    37     }
    38 }

    参考资料:N/A

    LeetCode 题目列表 - LeetCode Questions List

    题目来源:https://leetcode.com/

  • 相关阅读:
    GuavaCache简介(一)
    四层、七层负载均衡的区别
    腾讯云服务器 Centos6.5 安装 nginx1.12.0
    tomcat8性能优化
    JAVA 正则表达式的三种模式: 贪婪, 勉强和占有的讨论
    java中值传递和引用传递
    架构师书籍
    大型网站架构系列:20本技术书籍推荐
    RabbitMQ
    支付宝付款流程
  • 原文地址:https://www.cnblogs.com/jimmycheng/p/9848183.html
Copyright © 2020-2023  润新知