Dataford
Interview QuestionsInterview GuidesExperiencesCoaching
New
Pricing
Get started
Dataford
Popular roles
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Browse
Browse All RolesEvery role hub, from analyst to MLBrowse All CompaniesCompany-specific interview loopsAll Interview GuidesThe full guide library
Top questions by role
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Top questions by skill
SQLPythonStatisticsMachine LearningA/B TestingSystem DesignGenerative AIProduct SenseMetricsBehavioral
Browse all questions →Try a mock interview
Experiences
Practice
Mock InterviewsTimed interview simulations with feedbackCoaching1:1 coaching with people at your target companiesSuccess PathYour 6-week structured planModulesCurated lessons by topicWebinarsTalks from ex-Big Tech data leadsPlaygroundA free-form scratch editor
Learn
BlogInterview strategy and career adviceTech Job Market ReportHiring trends across data and AI rolesFor UniversitiesDataford for career centersAbout DatafordWho we are and how we build
Pricing
Build my plan
String Difference Function
00:00
5 left

String Difference Function

HardPython

Problem

Accretive Technology Group's code-review surface needs a deterministic way to display how one text revision differs from another. Given two strings, produce an ordered character-level edit script that transforms the first string into the second.

Return a list of operations represented as two-element lists: [operation, text]. The operation must be one of "equal", "delete", or "insert". Consecutive characters with the same operation should be combined into one item. The result must preserve the order of both strings and use a minimum number of character insertions and deletions. Replacing a character is represented as a deletion followed by an insertion.

Formal Specification

Implement string_diff(old, new), where both inputs are strings. Return a list of [operation, text] lists. Applying equal and delete text to old, while ignoring insert text, must reproduce the original string. Applying equal and insert text, while ignoring delete text, must reproduce new.

Constraints

  • 0 <= len(old), len(new) <= 1,000
  • Inputs contain arbitrary Unicode characters
  • The returned script must use a minimum number of insertions and deletions
  • Any valid script is accepted when multiple minimum scripts exist

Function Signature

def string_diff(old, new):
Interviewer

Your question is String Difference Function. Start with the requirements in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePython 3
Sign up free to run your codeLog inLn 2
Run your code to see test output here.