久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

PHP實(shí)現(xiàn)找出數(shù)組中出現(xiàn)次數(shù)超過(guò)數(shù)組長(zhǎng)度一半的數(shù)字算法示例

這篇文章主要介紹了PHP實(shí)現(xiàn)找出數(shù)組中出現(xiàn)次數(shù)超過(guò)數(shù)組長(zhǎng)度一半的數(shù)字算法,涉及php數(shù)組的遍歷、統(tǒng)計(jì)、判斷等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP實(shí)現(xiàn)找出數(shù)組中出現(xiàn)次數(shù)超過(guò)數(shù)組長(zhǎng)度一半的數(shù)字算法。分享給大家供大家參考,具體如下:

<?php
* 算法要求:數(shù)組中有一個(gè)數(shù)字出現(xiàn)的次數(shù)超過(guò)了數(shù)組長(zhǎng)度的一半,找出這個(gè)數(shù)字。
*
* 算法分析:我們需要計(jì)算數(shù)組中每個(gè)數(shù)字的出現(xiàn)次數(shù)。在PHP中我們可以使用in_array函數(shù)
* 來(lái)判斷一個(gè)元素是否出現(xiàn)在數(shù)組中。比如數(shù)組中含有1,2,3三個(gè)元素,我們要判斷1是否存在
* 可以使用in_array(1,$array)來(lái)判斷,但是這樣只能判斷1出現(xiàn)了一次,因?yàn)閷?duì)于含有數(shù)組
* 元素1,2,3,1這樣的數(shù)組來(lái)說(shuō),該函數(shù)只能判斷1存在與數(shù)組中,而不能給出具體的出現(xiàn)次數(shù)。
* 因?yàn)槲覀円淮沃荒芙o它傳遞一個(gè)參數(shù),我們判斷了第一個(gè)1存在后,函數(shù)就返回了,為了能夠繼續(xù)
* 判斷后一個(gè)1,我們需要循環(huán),讓該函數(shù)多次執(zhí)行。
*
* 為此,我們需要一個(gè)原數(shù)組的拷貝。我們循環(huán)原數(shù)組,然后判斷每一個(gè)元素是否存在于拷貝數(shù)組中。
* 考慮數(shù)組array(1,2,3,1),以及拷貝數(shù)組array(1,2,3,1)。它們是完全一樣的,當(dāng)我們循環(huán)
* 第一個(gè)數(shù)組時(shí),先判斷第一個(gè)1存在后,計(jì)數(shù)器自增,當(dāng)循環(huán)到第二個(gè)1的時(shí)候,計(jì)數(shù)器再自增。這樣
* 我們就可以準(zhǔn)確的判斷每一個(gè)數(shù)組元素的出現(xiàn)次數(shù)。
*
* 我們將數(shù)字和對(duì)應(yīng)的出現(xiàn)次數(shù),使用鍵 對(duì)的方式存儲(chǔ)在數(shù)組中。比如array('1'=>2),表示,數(shù)字1出現(xiàn)
* 了2次。
*
* 下面的代碼給出了具體實(shí)現(xiàn)過(guò)程。
*/
$array=array(1,1,3,1,1,14,1,1,4,6,7,1,1,21,33);
//創(chuàng)建原數(shù)組
$temp=$array;
//得到原數(shù)組的一個(gè)拷貝
$result=array();
//初始化計(jì)數(shù)器數(shù)組
foreach ($array as $value)//循環(huán)原數(shù)組
{
  if(in_array($value,$temp))//判斷數(shù)字是否存在于拷貝數(shù)組中
  {
    if(isset($result[$value]))//判斷該數(shù)字是否已經(jīng)被計(jì)數(shù)過(guò)
    {
      $result[$value]=$result[$value]+1;
      //如果已經(jīng)出現(xiàn)過(guò),計(jì)數(shù)器自增
    } else
    {
      $result[$value]=1;
      //如果沒(méi)有,計(jì)數(shù)器初始化1
    }
  }
}
$len=count($array);
//計(jì)算數(shù)組長(zhǎng)度
foreach ($result as $key=>$value)//循環(huán)計(jì)數(shù)器數(shù)組,這里的$key表示數(shù)字,$value表示出現(xiàn)次數(shù)
{
  if($value>($len/2))//如果一個(gè)數(shù)字的出現(xiàn)次數(shù)超過(guò)了數(shù)組長(zhǎng)度的一半
  {
    echo '數(shù)組中共有元素'.$len.'個(gè)<br>';
    echo $key.'出現(xiàn)了'.$value.'次,超過(guò)了數(shù)組長(zhǎng)度的一半'.($len/2);
    break;
    //數(shù)組中只可能有一個(gè)數(shù)字的出現(xiàn)次數(shù)超過(guò)數(shù)組長(zhǎng)度的一半
  }
}
?>

運(yùn)行結(jié)果:

數(shù)組中共有元素15個(gè)
1出現(xiàn)了8次,超過(guò)了數(shù)組長(zhǎng)度的一半7.5

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《php字符串(string)用法總結(jié)》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

這篇文章主要介紹了PHP有序表查找之插值查找算法,簡(jiǎn)單分析了插值查找算法的概念、原理并結(jié)合實(shí)例形式分析了php實(shí)現(xiàn)針對(duì)有序表插值查找的相關(guān)操作技巧,需要的朋友可以參考下
下面小編就為大家分享一篇ThinkPHP整合datatables實(shí)現(xiàn)服務(wù)端分頁(yè)的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
下面小編就為大家分享一篇PHP實(shí)現(xiàn)APP微信支付的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
這篇文章主要介紹了PHP實(shí)現(xiàn)的多維數(shù)組排序算法,結(jié)合實(shí)例形式對(duì)比分析了php針對(duì)多維數(shù)組及帶有鍵名的多維數(shù)組進(jìn)行排序相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
這篇文章主要為大家詳細(xì)介紹了php結(jié)合ajaxuploadfile實(shí)現(xiàn)無(wú)刷新文件上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本篇文章給大家詳細(xì)介紹了PHP開(kāi)發(fā)接口使用RSA進(jìn)行加密解密方法,對(duì)此有興趣的朋友可以學(xué)習(xí)下。
主站蜘蛛池模板: 国产乱码精品一区二区三区五月婷 | 亚洲精品黄色 | 国产乱码精品一区二区三区中文 | 九色av | 日韩精品在线免费观看视频 | 亚洲人的av | 91高清视频在线 | 国产日韩一区二区三免费 | 国产成人精品一区二区三区四区 | 亚洲国产成人在线 | 久久9999久久| 午夜影院网站 | 免费一二区 | 色免费视频 | av天天看| 久久99精品久久久久久国产越南 | 久久小视频 | 国产视频第一页 | 免费一级大片 | 中国大陆高清aⅴ毛片 | 欧美日韩国产一区二区三区 | 免费观看黄a一级视频 | 亚洲男人网 | 国产成年人小视频 | 国产精品视频久久 | 国产视频精品在线观看 | 7777精品伊人久久精品影视 | 亚洲国产精久久久久久久 | 国产一区二区三区在线 | 蜜桃五月天 | 亚洲成av人片在线观看无码 | 久久精品国产久精国产 | 在线观看中文字幕av | 亚洲精品久久久久avwww潮水 | 日韩欧美在线不卡 | 日本人和亚洲人zjzjhd | 午夜精品久久久 | 在线a视频网站 | 懂色av色香蕉一区二区蜜桃 | 午夜丰满寂寞少妇精品 | 伊人春色在线 |