zoukankan      html  css  js  c++  java
  • 面试题 01.04. 回文排列

    public boolean canPermutePalindrome(String s) {
            char[] c = s.toCharArray();
            int n = c.length;
            Map<Character,Integer> map = new HashMap<>();
            for (char value : c) {
                if (!map.containsKey(value)) {
                    map.put(value, 1);
                } else {
                    map.put(value, map.get(value) + 1);
                }
            }
            Collection<Integer> set = map.values();
            Iterator<Integer> integerIterator = set.iterator();
            if(n%2==0){  //个数全部是偶数
                while (integerIterator.hasNext()){
                    if(integerIterator.next()%2==1) return false;
                    integerIterator.remove();
                }
            }else{
                boolean odd_number = false;
                while (integerIterator.hasNext()){
                    if(integerIterator.next()%2==1){
                        if(odd_number)return false;
                        odd_number = true;
                    }
                    integerIterator.remove();
                }
            }
            return true;
        }

    public boolean canPermutePalindrome(String s) {
            Long n=0l;
            char[] c = s.toCharArray();
            int[] status = new int[128];
            int t=0;
            for(char c1:c){
                if(status[c1]!=0){
                    t--;
                    status[c1]=0;
                }else {
                    status[c1]=1;
                    t++;
                }
            }
            return t==1||t==0;
        }

    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    YOLO V5
    YOLO系列(单阶段目标检测)
    优化算法
    算法总结
    图像分类算法
    ResNet网络(里程碑)
    GoogleNet网络(纵横交错)
    VGGNet网络(走向深度)
    AlexNet网络(开山之作)
    案例
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/13545032.html
Copyright © 2011-2022 走看看