132k views
3 votes
Write a function called has_duplicates that takes a string parameter and returns True if the string has any repeated characters. Otherwise, it should return False.

Implement has_duplicates by creating a histogram using the histogram function above. Do not use any of the implementations of has_duplicates that are given in your textbook. Instead, your implementation should use the counts in the histogram to decide if there are any duplicates.

Write a loop over the strings in the provided test_dups list. Print each string in the list and whether or not it has any duplicates based on the return value of has_duplicates for that string. For example, the output for "aaa" and "abc" would be the following.

aaa has duplicates
abc has no duplicates

Print a line like one of the above for each of the strings in test_dups.

User Jreznot
by
3.4k points

1 Answer

4 votes

public static bool has_Duplicates(string str)

{

str = str.ToLower(); // Lowercase all the items, makes them easier to sort

int length = str.Length; // Get the length to apply to array

char[] strArray = str.ToCharArray();

// Turn to a character array

Array.Sort(strArray);

// Sort for speed and for method loop to work

// Begin for loop to sort through letters

for (int i = 0; i < length - 1; i++)

{

if (strArray[i] == strArray[i + 1])

{

//if letter equals next letter, False

Console.WriteLine(str + "has duplicates");

return false;

}

}

// if letter != next letter, Pass as True

Console.WriteLine(str + "has no duplicates");

return true;

}

User Npocmaka
by
3.6k points