zoukankan      html  css  js  c++  java
  • 众数问题

    众数问题

    #include <iostream>

    #include <vector>

    std::vector<char> members;

    char max_c;//众数

    int max_i = 0;//重数

    void getMax(std::vector<char>::iterator& start, std::vector<char>::iterator& end) {

        int n = (end - start)/2;

        std::vector<char>::iterator mid = start + n;

        std::vector<char>::iterator l = start, r = end;

        while(*l != *mid && *l != *end){

            l++;

        }

        while(*r != *mid && *r != *start){

            r--;

        }

        start = l;

        end = r;

        if (end – start + 1 > max_i) {

            max_i = end - start + 1;

            max_c = *mid;

        }

    }

    void fun(std::vector<char>::iterator flag, int n){

        std::vector<char>::iterator start = flag;

        std::vector<char>::iterator end = flag + n;

        getMax(start, end);

        int l_count = start - flag;

        int r_count = n - (end - flag);

        if (l_count > max_i){

            fun(flag, l_count);

        }

        if (r_count > max_i) {

            fun(end, r_count);

        }

    }

    int main() {

        int n;

        std::cout << "input the number of member" << std::endl;

        std::cin >> n;

        for (int i = 0; i < n; i++) {

            char get;

            std::cin >> get;

            members.push_back(get);

        }

        fun(members.begin(), members.size());

        std::cout << max_c << ":" << max_i << std::endl;

        return 0;

    }

  • 相关阅读:
    boot.asm
    C talk
    C 数据类型
    Locks, Deadlocks, and Synchronization
    C++的RTTI 观念和用途
    setup.asm
    驱动对象设备对象设备栈
    JNI 内存泄漏
    KMP 字符串匹配算法
    解开 Windows 下的临界区中的代码死锁
  • 原文地址:https://www.cnblogs.com/Anei/p/7828771.html
Copyright © 2011-2022 走看看