检查给定字符串是否为异形

给一根绳子 s .任务是检查给定字符串中的字符是否为异形。A. 异形图 是一个单词、短语或句子,字母表中的任何字母都不会出现一次以上。

null

例如:

Input : S = "the big dwarf only jumps"Output : YesEach alphabet in the string S is occurredonly once.Input : S = "geeksforgeeks" Output : NoSince alphabet 'g', 'e', 'k', 's' occurredmore than once.

其想法是创建一个大小为26的哈希数组,初始化为0。遍历给定字符串的每个字母表,如果第一次遇到该字母表,则在相应的哈希数组位置标记1,否则返回false。

以下是该方法的实施情况:

C++

// C++ Program to check whether the given string is Heterogram or not.
#include<bits/stdc++.h>
using namespace std;
bool isHeterogram( char s[], int n)
{
int hash[26] = { 0 };
// traversing the string.
for ( int i = 0; i < n; i++)
{
// ignore the space
if (s[i] != ' ' )
{
// if already encountered
if (hash[s[i] - 'a' ] == 0)
hash[s[i] - 'a' ] = 1;
// else return false.
else
return false ;
}
}
return true ;
}
// Driven Program
int main()
{
char s[] = "the big dwarf only jumps" ;
int n = strlen (s);
(isHeterogram(s, n))?(cout << "YES" ):(cout << "NO" );
return 0;
}


JAVA

// Java Program to check whether the
// given string is Heterogram or not.
class GFG {
static boolean isHeterogram(String s, int n)
{
int hash[] = new int [ 26 ];
// traversing the string.
for ( int i = 0 ; i < n; i++)
{
// ignore the space
if (s.charAt(i) != ' ' )
{
// if already encountered
if (hash[s.charAt(i) - 'a' ] == 0 )
hash[s.charAt(i) - 'a' ] = 1 ;
// else return false.
else
return false ;
}
}
return true ;
}
// Driver code
public static void main (String[] args)
{
String s = "the big dwarf only jumps" ;
int n = s.length();
if (isHeterogram(s, n))
System.out.print( "YES" );
else
System.out.print( "NO" );
}
}
// This code is contributed by Anant Agarwal.


Python3

# Python3 code to check
# whether the given
# string is Heterogram
# or not.
def isHeterogram(s, n):
hash = [ 0 ] * 26
# traversing the
# string.
for i in range (n):
# ignore the space
if s[i] ! = ' ' :
# if already
# encountered
if hash [ ord (s[i]) - ord ( 'a' )] = = 0 :
hash [ ord (s[i]) - ord ( 'a' )] = 1
# else return false.
else :
return False
return True
# Driven Code
s = "the big dwarf only jumps"
n = len (s)
print ( "YES" if isHeterogram(s, n) else "NO" )
# This code is contributed by "Sharad_Bhardwaj".


C#

// C# Program to check whether the
// given string is Heterogram or not.
using System;
class GFG {
static bool isHeterogram( string s, int n)
{
int []hash = new int [26];
// traversing the string.
for ( int i = 0; i < n; i++)
{
// ignore the space
if (s[i] != ' ' )
{
// if already encountered
if (hash[s[i] - 'a' ] == 0)
hash[s[i] - 'a' ] = 1;
// else return false.
else
return false ;
}
}
return true ;
}
// Driver code
public static void Main ()
{
string s = "the big dwarf only jumps" ;
int n = s.Length;
if (isHeterogram(s, n))
Console.WriteLine( "YES" );
else
Console.WriteLine( "NO" );
}
}
// This code is contributed by Vt_m.


PHP

<?php
// PHP Program to check
// whether the given string
// is Heterogram or not.
function isHeterogram( $s , $n )
{
$hash = array ();
for ( $i = 0; $i < 26; $i ++)
$hash [ $i ] = 0;
// traversing the string.
for ( $i = 0; $i < $n ; $i ++)
{
// ignore the space
if ( $s [ $i ] != ' ' )
{
// if already encountered
if ( $hash [ord( $s [ $i ]) -
ord( 'a' )] == 0)
$hash [ord( $s [ $i ]) -
ord( 'a' )] = 1;
// else return false.
else
return false;
}
}
return true;
}
// Driven Code
$s = "the big dwarf only jumps" ;
$n = strlen ( $s );
if (isHeterogram( $s , $n ))
echo ( "YES" );
else
echo ( "NO" );
// This code is contributed by
// Manish Shaw(manishshaw1)
?>


Javascript

<script>
// Javascript program to check whether
// the given string is Heterogram or not.
function isHeterogram(s, n)
{
var hash = Array(26).fill(0);
// Traversing the string.
for ( var i = 0; i < n; i++)
{
// Ignore the space
if (s[i] != ' ' )
{
// If already encountered
if (hash[s[i].charCodeAt(0) -
'a' .charCodeAt(0)] == 0)
hash[s[i].charCodeAt(0) -
'a' .charCodeAt(0)] = 1;
// Else return false.
else
return false ;
}
}
return true ;
}
// Driver code
var s = "the big dwarf only jumps" ;
var n = s.length;
(isHeterogram(s, n)) ? (document.write( "YES" )) :
(document.write( "NO" ));
// This code is contributed by rutvik_56
</script>


输出:

YES

时间复杂性: O(N)

辅助空间: O(26)

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享