博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php 数组元素 频率 次数
阅读量:6536 次
发布时间:2019-06-24

本文共 995 字,大约阅读时间需要 3 分钟。

hot3.png

  方法一;// 统计数组中元素出现的频率$a = array(5, 4, 8, 9, 3, 5, 4, 7, 9, 4, 7, 3, 2, 9, 8, 4, 7, 3, 2, 9, 4, 7);// 使用官方$cout = array_count_values($a);// 用php实现function marjority(array   $A){    if (0 == count($A) || NULL == $A) {        return false;    }    //  统计数组的大小.    $N = count($A);    // 初始化每个木桶的水量为1;    $cout = [];    $result = [];    // 不好的地方在于,木桶的数量要依据数组中的最大值.浪费资源.    for ($i = 0; $i < 101; $i++) {        // 将木桶中的水量初始化.        $cout[$i] = 0;    }    // 在木桶上标记容量.    for ($i = 0; $i < $N; $i++) {        // 如果重复出现,那么木桶中的水量会增加        $cout[$A[$i]]++;    }    //过滤次数为0的.    foreach ($cout as $k => $v) {        if ($cout[$k] != 0) {            $result[$k] = str_repeat("#", $v);        }    }    return $result;}echo "使用PHP内置函数处理" . "
";foreach ($cout as $k => $v) {    echo $k . ":" . str_repeat('#', $v) . "
";}echo "
";echo "使用木桶排序的方式处理" . "
";$res = marjority($a);foreach ($res as $k => $v) {    echo $k . ":" . $v . "
";}?>

转载于:https://my.oschina.net/u/1579560/blog/536930

你可能感兴趣的文章
vue-cli脚手架一些插件安装elementui和axios
查看>>
[Gradle] 在 Eclipse 下利用 gradle 构建系统
查看>>
JAVAWEB 一一 Hibernate(框架)
查看>>
与、或、异或、取反、左移和右移
查看>>
jQuery根据元素值删除数组元素的方法
查看>>
Linux基础学习(14)--日志管理
查看>>
vue常用的指令
查看>>
matlab练习程序(随机游走图像)
查看>>
Linux命令行下运行java.class文件
查看>>
input文本框实现宽度自适应代码实例
查看>>
C#基本数据类型 <思维导图>
查看>>
POJ3321 Apple Tree (树状数组)
查看>>
一个程序员的自白(延迟满足)
查看>>
protocol buffers的编码原理
查看>>
行为型设计模式之命令模式(Command)
查看>>
减少死锁的几个常用方法
查看>>
HDFS 核心原理
查看>>
正确配置jstl的maven依赖,jar包冲突的问题终于解决啦
查看>>
利用KMP算法解决串的模式匹配问题(c++) -- 数据结构
查看>>
登录内网账号后,连接不上内网网址
查看>>