VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • PHP学习之统计某个数字在排序数组中出现的频次

本篇文章的主要内容是用PHP实现统计一个数字在排序数组中出现的次数,感兴趣的朋友可以了解一下,希望能够帮助到你。

问题:统计一个数字在排序数组中出现的次数。

思路1:一般的遍历,比较有没有相等的,有就自动+1;

思路2:利用二分法,将相等的数先找到,记录下标。然后遍历一下从0到改下标和从该下标到头总共多少相等的,记录。

  1. left=getLeft(data,k) 
  2.  
  3. right=getRight(data,k) 
  4.  
  5. retun right-left+1 
  6.   
  7. getLeft data,k 
  8.  
  9.     left=0 
  10.  
  11.     right=arr.length-1 
  12.  
  13.     mid=left+(right-left)/2 
  14.  
  15.     while  left<=right 
  16.  
  17.         if arr[mid]<k    //关键 
  18.  
  19.             left=mid+1 
  20.  
  21.         else 
  22.  
  23.             right=mid-1 
  24.  
  25.         mid=left+(right-left)/2 
  26.  
  27.     return left 
  28.  
  29. getRight data,k 
  30.  
  31.     left=0 
  32.  
  33.     right=arr.length-1 
  34.  
  35.     mid=left+(right-left)/2  
  36.  
  37.     while  left<=right 
  38.  
  39.         if arr[mid]<=k   //关键 
  40.  
  41.             left=mid+1 
  42.  
  43.         else 
  44.  
  45.             right=mid-1 
  46.  
  47.         mid=left+(right-left)/2 
  48.  
  49.     return right 
  50.  

出处:http://www.phpfensi.com/php/20200404/12900.html


相关教程