PHP獲取字符流中第一個不重復字符的方法
本文實例講述了PHP獲取字符流中第一個不重復字符的方法。分享給大家供大家參考,具體如下:
問題
請實現(xiàn)一個函數(shù)用來找出字符流中第一個只出現(xiàn)一次的字符。例如,當從字符流中只讀出前兩個字符”go”時,第一個只出現(xiàn)一次的字符是”g”。當從該字符流中讀出前六個字符“google”時,第一個只出現(xiàn)一次的字符是”l”。
輸出描述:
如果當前字符流沒有存在出現(xiàn)一次的字符,返回#字符
題解
使用索引數(shù)組
實現(xiàn)代碼
<?php global $result; //Init module if you need function Init(){ global $result; $result = []; } //Insert one char from stringstream function Insert($ch) { global $result; // write code here if(isset($result[$ch])){ $result[$ch]++; }else{ $result[$ch] =1; } } //return the first appearence once char in current stringstream function FirstAppearingOnce() { global $result; foreach($result as $k =>$v){ if($v ==1){ return $k; } } return "#"; }
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結構與算法教程》、《php程序設計算法總結》、《php字符串(string)用法總結》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結》及《PHP數(shù)學運算技巧總結》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
深入Memcache的Session數(shù)據(jù)的多服務器共享詳解
本篇文章是對Memcache的Session數(shù)據(jù)的多服務器共享進行了詳細的分析介紹,需要的朋友參考下2013-06-06PHP中利用sleep函數(shù)實現(xiàn)定時執(zhí)行功能實現(xiàn)代碼
在PHP中,有一個sleep函數(shù),大概意思是程序執(zhí)行遇到sleep函數(shù)時暫停N秒后繼續(xù)往下執(zhí)行。如sleep(10)意思就是程序自上往下執(zhí)行,遇到sleep(10)語句后暫停十秒,然后繼續(xù)往下執(zhí)行2016-08-08PHP 實現(xiàn) JSON 數(shù)據(jù)的編碼和解碼操作詳解
這篇文章主要介紹了PHP 實現(xiàn) JSON 數(shù)據(jù)的編碼和解碼操作,結合實例形式詳細分析了PHP操作json格式數(shù)據(jù)編碼、解碼函數(shù)使用場景及相關操作注意事項,需要的朋友可以參考下2020-04-04PHP基于ICU擴展intl快速實現(xiàn)漢字轉拼音及按拼音首字母分組排序的方法
這篇文章主要介紹了PHP基于ICU擴展intl快速實現(xiàn)漢字轉拼音及按拼音首字母分組排序的方法,結合實例形式分析了ICU擴展intl的實現(xiàn)方法與拼音轉換、排序等相關操作技巧,需要的朋友可以參考下2017-05-05