package Ġchapter 5 . section 3 Ċ Ċ /** Ċ Ġ* Ġä¸º Bo yer M oo re ç±» æ·»åĬł ä¸Ģä¸ª count () æĸ¹æ³ķ æĿ¥ ç»Łè®¡ æ¨¡å¼ı åŃĹç¬¦ä¸² çļĦ åľ¨ æĸĩæľ¬ ä¸ŃçļĦ åĩºçİ° æ¬¡æķ° ï¼Į Ċ Ġ* Ġ åĨį æ·»åĬł ä¸Ģä¸ª search All () æĸ¹æ³ķ æĿ¥ æīĵåį° åĩº æīĢæľī åĩºçİ° çļĦ ä½įç½® ãĢĤ Ċ Ġ*/ Ċ fun ĠBo yer M oo re . search All ( txt : ĠString ): ĠInt Array Ġ{ ĊĠĠĠ Ġval Ġlist Ġ= ĠArrayList < Int >() ĊĠĠĠ Ġval ĠN Ġ= Ġtxt . length ĊĠĠĠ Ġval ĠM Ġ= Ġpat . length ĊĠĠĠ Ġvar Ġi Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġj Ġ= ĠM Ġ- Ġ 1 ĊĠĠĠ Ġwhile Ġ( i Ġ<= ĠN Ġ- ĠM ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( txt [ i Ġ+ Ġj ] Ġ== Ġpat [ j ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj -- ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġk Ġ= Ġj Ġ- Ġright [ alphabet . to Index ( pat [ j ])] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( k Ġ<= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġk Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Ġ+= Ġk ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj Ġ= ĠM Ġ- Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( j Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj Ġ= ĠM Ġ- Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġlist . to IntArray () Ċ } Ċ Ċ fun ĠBo yer M oo re . count ( txt : ĠString ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġsearch All ( txt ). size Ċ } Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġtest Search All < Bo yer M oo re >( Bo yer M oo re :: search All ) Ġ{ ĠBo yer M oo re ( it ) Ġ} Ċ }