zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    1-wire单总线DS18B20
    开漏输出
    拉电流(source current)与灌电流(sink current)
    高阻态;什么是三态门? 三态逻辑与非门电路以及三态门电路
    小电流MOS管
    DS18B20 CRC8分析
    go hmac使用
    gin入门
    go web框架推荐
    Go语言入门系列2 基本语法
  • 原文地址:https://www.cnblogs.com/jimmycheng/p/9848183.html
Copyright © 2011-2022 走看看