程序员面试金典——确定字符互异

确定字符互异

http://www.nowcoder.com/questionTerminal/9618c2a9e8a14c3e82954ee14168f592

题中要求不允许使用额外的存储结构,因此在这里用时间换空间,使用两个 for 循环,时间复杂度为 O(n*n)

import org.junit.Test;

import static org.junit.Assert.assertEquals;

public class Solution {

    public boolean checkDifferent(String iniString) {
        if (iniString.length() == 1 || iniString.length() == 0) return true;
        if (iniString.length() > 256) return false;
        for (int i = 0; i < iniString.length(); i++) {
            for (int j = i + 1; j < iniString.length(); j++) {
                if (iniString.charAt(i) == iniString.charAt(j))
                    return false;
            }
        }
        return true;
    }

    @Test
    public void testSolve() {
        assertEquals(checkDifferent(""), true);
        assertEquals(checkDifferent("aeiou"), true);
        assertEquals(checkDifferent("BarackObama"), false);
        assertEquals(checkDifferent("A"), true);
    }
}
全部评论

相关推荐

01-14 12:08
门头沟学院 Java
神哥了不得:(非引流)1.既然发出来了简历,就稍微提一点点小建议,确实简历很不错了,练手项目可以换一些质量高的,工作内容,可以加上一些量化指标,比如第一条系统响应速度由多少变成多少,减少了百分之多少,第4条就很不错。2.广投,年前实习招募比较少了
点赞 评论 收藏
分享
给🐭🐭个面试机会吧:我boss直聘天天有家教跟我打招呼😓
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务