首页 > 试题广场 >

确定字符互异

[编程题]确定字符互异
  • 热度指数:95688 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

给定一个字符串string iniString,请返回一个bool值,True代表字符串的所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符且不允许使用额外的存储结构,字符串的长度小于等于3000。大小写字母算不同的字符

测试样例:
"aeiou"
返回:True
"BarackObama"
返回:False
头像 双加贝
发表于 2020-09-23 16:39:01
题目中要求不能使用额外的存储结构,因此会限制很多空间上的用法。 首先想到的就是在时间上的暴力法。针对每一个字符, 我们都可以做到 从 当前字符的下一个位置来进行判断是否与当前字符相同,如果相同则返回 false, 重复上面步骤, 直到判断完所有字符没有相同的,就返回 true。 a e i o 展开全文
头像 张鹏201908190005840
发表于 2022-02-14 18:14:41
class Different: def checkDifferent(self, iniString): # write code here from collections import Counter d=Counter(iniStrin 展开全文
头像 爵丶缘
发表于 2021-07-18 18:39:40
通过两个for循环依次排查是否含有相同的字符 class Different { public: bool checkDifferent(string iniString) { // write code here for(int i=0;i<iniString.size()-1;i++) { 展开全文
头像 byte_dancer
发表于 2021-06-30 14:16:25
class Different: def checkDifferent(self, iniString): # write code here for i in range(len(iniString)-1): for j in ran 展开全文
头像 牛客902287309号
发表于 2021-07-28 14:45:26
思路:找字符串里面是否有相同的字符?1:采用哈希表去统计每个字符出现的次数2:遍历哈希表,如果找到一个值大于1,则返回false3:最终返回true 代码如下: class Different { public: bool checkDifferent(string iniString) { 展开全文
头像 青禾a
发表于 2021-02-03 14:30:29
import java.util.*;//这个题坑的地方在于:不是各个单词重排,是所有单个字符可以重排!!!public class Same { public static boolean checkSam(String stringA, String stringB) { c 展开全文
头像 牛客314328168号
发表于 2023-02-10 22:14:18
#include <map> class Different { public: bool checkDifferent(string iniString) { // write code here map<char,int> stri 展开全文
头像 顾北清歌
发表于 2020-08-18 20:10:28
题中要求不允许使用额外的存储结构,因此在这里用时间换空间,使用两个 for 循环,时间复杂度为 O(n*n)。 import org.junit.Test; import static org.junit.Assert.assertEquals; public class Solution { 展开全文
头像 爱编程的宽宽
发表于 2023-04-13 23:35:30
#include <array> #include <iostream> class Different { public: bool checkDifferent(string iniString) { // write code here 展开全文
头像 牛客548207004号
发表于 2023-10-25 10:07:24
import java.util.*; public class Different { public boolean checkDifferent(String iniString) { // write code here boolean flag = 展开全文