1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
wariber [46]
3 years ago
3

Two strings are anagrams if they are permutations of each other. For example, "aaagmnrs" is an anagram of "anagrams". Given an a

rray of strings, remove each string that is an anagram of an earlier string, then return the remaining array in sorted order. For example, given the strings s = ['code', 'doce', 'ecod', 'framer', 'frame'], the strings 'doce' and 'ecod' are both anagrams of 'code' so they are removed from the list. The words 'frame' and 'framer' are not anagrams due to the extra 'r' in 'framer', so they remain. The final list of strings in alphabetical order is ['code', 'frame', 'framer'].

Computers and Technology
1 answer:
Alex3 years ago
4 0

Answer:

Here is the Python program:

def removeAnagram(array):  #method to remove string from array of strings that is anagram of earlier string

   s = set()  #creates a set

   output = []  #creates an output list

   for string in array:  # iterates through each string in array of strings

       if ''.join(sorted(string)) not in s:  #if sorted string of array is not in s

           output.append(string)  #append that string to output list

           s.add(''.join(sorted(string)))  #add that sorted string to s set

   return sorted(output)  #returns output list

   

array = ['code', 'doce', 'ecod', 'framer', 'frame']  #creates a list of words

print(removeAnagram(array))  #calls method to remove each string that is an anagram of earlier string

Explanation:

I will explain the program with an example:

Suppose array = ['code', 'doce', 'ecod', 'framer', 'frame']

Now the for loop works as follows:

At first iteration:

first string of array is 'code'

if ''.join(sorted(string)) not in s: this is an if statement which has two method i.e. join() and sorted(). First each letter of the string i.e. 'code' is sorted in alphabetical order then these separated characters are joined together into a word with join() method. So

sorted(string) becomes:

['c', 'd', 'e', 'o']                                                                                                           and ''.join(sorted(string)) becomes:

cdeo

Now if ''.join(sorted(string)) not in s condition checks if cdeo is not in s set. This is true so the statement:

output.append(string) executes which appends the string to output list. So now output has:

['code']                                                                                                                         Next s.add(''.join(sorted(string))) statement  adds the sorted and joined string of array to s set. So the set has:

{'cdeo'}                                                                                                                        

So at each iteration each word from the array is sorted and joined and then checked if output array contains that word or not. If not then it is added to the output array otherwise not. For example at 2nd iteration the word 'doce' which is anagram of code and it is checked when it is sorted and joined and it becomes cdeo which is already in output array. So this is how the anagram is removed from the array. At the end the output array which returns the remaining array in sorted order is returned by this method. The screenshot of the program along with its output is attached.

You might be interested in
a network administrator for a large oil company has discovered that a host on the company network has been compromised by an att
Slav-nsk [51]

My recommendation as an immediate response to prevent further spoofing of the host is to Revoke the host's certificate.

<h3>What does revoke certificate mean?</h3>

Certificate revocation is the process by which one can  invalidate a TLS/SSL and this is one that is often done before its scheduled expiration date.

Note that A certificate need to be revoked immediately  and as such, based on the case above, My recommendation as an immediate response to prevent further spoofing of the host is to Revoke the host's certificate.

Learn more about network administrator from

brainly.com/question/4264949

#SPJ1

8 0
2 years ago
25% of 60 min<br> 20% of 60 min<br> 33%% of 60 min
Alexxx [7]
15
12
19.8 cool cool cool
7 0
2 years ago
In the original UNIX operating system, a process executing in kernel mode may not be preempted. Explain why this makes (unmodifi
Elena L [17]

Answer:

the preemption is -> The ability of the operating

system to preempt or stop a currently

scheduled task in favour of a higher priority

task. The scheduling may be one of, but not

limited to, process or 1/0 scheduling etc.

Under Linux, user-space programs have always

been preemptible: the kernel interrupts user

space programs to switch to other threads,

using the regular clock tick. So, the kernel

doesn't wait for user-space programs to

explicitly release the processor (which is the

case in cooperative multitasking). This means

that an infinite loop in an user-space program

cannot block the system.

However, until 2.6 kernels, the kernel itself was

not preemtible: as soon as one thread has

entered the kernel, it could not be preempted to

execute an other thread. However, this absence

of preemption in the kernel caused several

oroblems with regard to latency and scalability.

So, kernel preemption has been introduced in

2.6 kernels, and one can enable or disable it

using the cONFIG_PREEMPT option. If

CONFIG PREEMPT is enabled, then kernel code

can be preempted everywhere, except when the

code has disabled local interrupts. An infinite

loop in the code can no longer block the entire

system. If CONFIG PREEMPT is disabled, then

the 2.4 behaviour is restored.

So it suitable for real time application. Only

difference is we don't see many coders using it

5 0
3 years ago
What is the missing term in the code that handles that error??
kykrilka [37]

Answer:

try typing that into gooy gle im sorry if i didnt help

if tickets >400 What is the missing term in the code that handles that error??wat over400error

Explanation:

3 0
3 years ago
The option to add the date and time to a document is located in the
Tomtit [17]

Answer:

The option to add the date and time to a document is located in the

text grouping on the Insert tab.

Explanation:

8 0
3 years ago
Read 2 more answers
Other questions:
  • What are some useful properties of current electricity
    13·2 answers
  • Security and protection as it relates to operating systems is grouped into four categories: Availability, Data integrity, Authen
    9·1 answer
  • By Carl Sandburg
    6·1 answer
  • What is the single most important component of a computer? Central Processing Unit DIP Motherboard Chipset
    8·1 answer
  • Design and implement an application that reads a sequence of up to 25 pairs of names and postal (ZIP) codes for individuals. Sto
    9·1 answer
  • Create a view named product_summary. This view should return summary information about each product. Each row should include pro
    13·1 answer
  • SATCOM in the Ku- and Ka- bands, as well as EHF systems are adversely affected by rain (the higher the frequency, the greater th
    14·1 answer
  • What is one pass of a coding sequence called?​
    13·2 answers
  • Explain the following buttons as used in emails:compose,inbox and Draft.<br>​
    10·1 answer
  • A drive is small enough to be carried in one's pocket.
    6·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!