ARTS-24 字符串互異

概述:
左耳朵耗子專欄《左耳聽風》 用戶自發每週完成一個ARTS:

1.Algorithm:每週至少做一個 leetcode 的算法題

2.Review:閱讀並點評至少一篇英文技術文章

3.Tip:學習至少一個技術技巧

4.Share:分享一篇有觀點和思考的技術文章

請實現一個算法,確定一個字符串的所有字符是否全都不同。這裏我們要求不允許使用額外的存儲結構。給定一個string iniString,請返回一個bool值,True代表所有字符全都不同,False代表存在相同的字符。保證字符串中的字符爲ASCII字符。字符串的長度小於等於3000。

 

package 面試算法題目;

/**
 * @author idea
 * @data 2019/10/13
 */
public class StringTest {

    //默認全部爲0
    private static int[] charsIntArr = new int[256];


    /**
     * 轉換爲字符數組 這裏面不考慮轉義字符
     *
     * @param iniString
     * @return
     */
    public boolean checkDifferent(String iniString) {
        int len = iniString.length();
        if(len>256) {
            return false;
        }
        for (int i = 0; i < len; i++) {
            int item=iniString.charAt(i);
            System.out.println(item);
            if(charsIntArr[item]==1){
                return false;
            }
            charsIntArr[item]=1;
        }
        return true;
    }


    public static void main(String[] args) {
        StringTest s = new StringTest();
        boolean result = s.checkDifferent("//72");
        System.out.println(result);
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章