LAB RESTRICTIONS, PLEASE READ:
- Do not add any imports, the ones that you need will be given to you.
- Do not use recursion.
- Do not use try-except statements, you should be able to anticipate
or prevent any errors from happening at all!
- Code in Python
def longest_unique_substring(s: str) -> str:
"""
Given a string <s>, return the longest unique substring that occurs within
<s>.
A unique substring is a substring within <s> which DOES NOT have any
repeating characters. As an example, "xd" is unique but "xxd" is not.
If there are two equal length unique substrings within <s>, return the one
that starts first (i.e., begins at a smaller index).
Note on grading for this question:
You've already implemented a function that can generate all the substrings
of a given string in lab 5. You can use that logic to help here, but it
will be quite slow.
For this question, PERFORMANCE WILL MATTER, and we will run long tests with
up to 10,000,000 characters as an input. To get full credit, an input of
10,000,000 characters should return the correct answer within 60 seconds
(the instructor solution takes about 2).
>>> longest_unique_substring('aab')
'ab'
"""
Step by stepSolved in 4 steps with 2 images
- Scala programmingarrow_forwardC programmingarrow_forwardSYNTAX ERROR HELP - PYTHON This also happens for several other 'return result' lines in the code. import randomdef rollDice(): num1 = random.randint(1, 6) num2 = random.randint(1, 6) return num1, num2def determine_win_or_lose(num1, num2): result = -1 total = num1 + num2print(f"You rolled {num1} + {num2} = {total}")if total == 2 or total == 3 or total == 12: result = 0elif total == 7 or total == 11: result = 1else: print(f"point is {total}") x = determinePointValueResult(total)if x == 1: result = 1else: result = 0 return resultdef determinePointValueResult(pointValue): total = 0 result = -1while total != 7 and total != pointValue: num1, num2 = rollDice() total = num1 + num2if total == pointValue: result = 1elif total == 7: result = 0print(f"You rolled {num1} + {num2} = {total}")return resultwhile i < n: num1, num2 = rollDice() result = determine_win_or_lose(num1, num2)if result == 1: winCounter += 1 print("You…arrow_forward
- Question 1: break phrase Problem statement Breaking a string into two parts based on a delimiter has applications. For example, given an email address, breaking it based on the delimiter "@" gives you the two parts, the mail server's domain name and email username. Another example would be separating a phone number into the area code and the rest. Given a phrase of string and a delimiter string (shorter than the phrase but may be longer than length 1), write a C++ function named break_string to break the phrase into two parts and return the parts as a C++ std::pair object (left part goes to the "first" and right part goes to the "second"). Do the following Write your algorithm as code comments. I recommend to follow UMPIRE technique Implement your functionarrow_forwardBriefly explain string literalarrow_forwardTAKE A LIST OF STRING FROM THE USER AND COUNT THE NUMBER OF UNIQUE ELEMENTS WITHOUT USING THE FOR, WHILE, Do-WHILE LOOPS. PREFERRED PROGRAMMING LANGUAGE: JAVA/C++arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education