第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

java面試?yán)渲R(shí) string的indexof

標(biāo)簽:
Java

      java中String的玩法还真多,本文介绍的的是indexof这个查找字串的实现。

      说到查找子串,最原始的算法就是先找到第一个字符是匹配的,然后从这个字符串开始往后比对,直到和子串完全匹配。很多人的第一反应肯定是这个算法很low,你起码说个KMP什么的才上档次。所以在很多人印象里java定不会用这么low的算法,就算面试被问到,也不敢这么回答,现在你可以大胆说,如果面试官嘲笑你,请用经典名句:Talk is cheap, show me the code。

        for (int i = sourceOffset + fromIndex; i <= max; i++) {
            //直到找到第一个匹配的字符
            if (source[i] != first) {
                while (++i <= max && source[i] != first);
            }
            //从第一个字符后开始查找
            if (i <= max) {
                //此时i为第一个匹配的字符,j是要开始比对的第二个字符
                int j = i + 1;
                //end是完整匹配最后的字符的位置,targetCount就是子串的长度 
                int end = j + targetCount - 1;
                for (int k = targetOffset + 1; j < end && source[j]
                        == target[k]; j++, k++);
                if (j == end) {
                    //此时查找到,返回结果位置
                    return i - sourceOffset;
                }
            }
        }

      经过验证,1.6,1.7,1.8都是这么实现的。这几个版本的回答不需要犹豫。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
JAVA開發(fā)工程師
手記
粉絲
1.6萬
獲贊與收藏
380

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消