zoukankan      html  css  js  c++  java
  • 给定两个字符串数组,求出二者不同的元素

    题目描述:给定s = {"a","b","c","d","f","e","ab"}; s2 = {"a","ab"}; 求出s中不包含s2中的剩余元素。可以认为是 s-s2的结果。

    思路: 利用hashmap,将s中的元素都存入hashmap,并将<K,V>中的value值赋值1,然后遍历s2中的元素,如果s1中存在则value+1,最后找出value为1的元素就是所求元素。

     1 import java.util.*;
     2 import java.util.Map.Entry;
     3 public class StringMinute {
     4     public static void main(String[] args){
     5         String[] s = {"a","b","c","d","f","e","ab"};
     6         String[] s2 = {"a","ab"};
     7         
     8         Map<String, Integer> map = new HashMap<>();
     9         for (int i=0; i<s.length; i++){
    10             map.put(s[i], 1);
    11         }
    12         for (int i=0; i<s2.length; i++){
    13             if (map.containsKey(s2[i])){
    14                 int count = map.get(s2[i]);
    15                 count++;
    16                 map.put(s2[i], count);
    17             }
    18         }
    19         Iterator iter = map.entrySet().iterator();
    20         while (iter.hasNext()){
    21             Map.Entry<String, Integer> entry = (Entry<String, Integer>)iter.next();
    22             if (entry.getValue() == 1){
    23                 System.out.println(entry.getKey());
    24             } 
    25         }
    26     }
    27 }
  • 相关阅读:
    原创 动态卷积
    BZOJ1565 植物大战僵尸
    BZOJ1143 [CTSC2008] 祭祀river
    BZOJ3438 小M的作物
    BZOJ3144 [HNOI2013]切糕
    BZOJ2039 [2009国家集训队]employ人员雇佣
    BZOJ1066[SCOI2007]蜥蜴
    BZOJ3874 codevs3361 宅男计划
    Codeforces Round #343 (Div. 2)
    [转]后缀自动机(SAM)
  • 原文地址:https://www.cnblogs.com/seasondaily/p/7749670.html
Copyright © 2011-2022 走看看