Problem Introduction The edit distinct between two strings is the minimum number of insertions, deletions and mismatches in an alignment of two strings. Problem Description Task.The goal of this problem is to implement the algorithm for computing the…
Problem Introduction In this problem, your goal is to compute the length of a longest common subsequence of three sequences. Problem Description Task.Given three sequences \(A=(a_1,a_2,\cdots,a_n)\); \(B = (b_1, b_2,\cdots,b_m)\), and \(C=(c_1,c_2,\c…
Problem Introduction You are given a primitive calculator that can perform the following three operations with the current number \(x\): multiply \(x\) by 2, multiply \(x\) by 3, or add 1 to \(x\). Your goal is given a positive integer \(n\), find th…
Problem Introduction The goal in this problem is given a set of segments on a line and a set of points on a line, to count, for each point, the number of segments which contain it. Problem Description Task.In this problem you are given a set of point…
Problem Introduction In the problem, your goal is to add parentheses to a given arithmetic expression to maximize its value. Problem Description Task.Find the maximum value of an arithmetic expression by specifying the order of applying its arithmeti…
Problem Introduction This problem is about implementing an algorithm for the knapsack without repetitions problem. Problem Description Task.In this problem, you are given a set of bars of gold and your goal is to take as much gold as possible into yo…
Problem Introduction An inversion of a sequence \(a_0,a_1,\cdots,a_{n-1}\) is a pair of indices \(0 \leq i < j < n\) such that \(a_i>a_j\). The number of inversions of a sequence in some sense measures how close the sequence is to being sorted. F…
Problem Introduction The goal in this problem is to redesign a given implementation of the randomized quick sort algorithm so that it works fast even on sequences containing many equal elements. Problem Description Task.To force the given implementat…
Problem Introduction An element of a sequence of length \(n\) is called a majority element if it appears in the sequence strictly more than \(n/2\) times. Problem Description Task.The goal in this code problem is to check whether an input sequence co…
Problem Introduction In this problem, you will implemented the binary search algorithm that allows searching very efficiently(even huge) lists provided that the list is sorted. Problem Description Task.The goal in this code problem is to implement th…
Problem Introduction This is an example of a problem where a subproblem of the corresponding greedy algorithm is slightly distinct from the initial problem. Problem Description Task.The goal of this problem is to represent a given positive integer \(…
Problem Introduction You are given a set of segments on a line and your goal is to mark as few points on a line as possible so that each segment contains at least one marked point. Problem Description Task.Given a set of n segments \(\{ [a_0, b_0], […
Problem Introduction The dot product of two sequences \(a_1,a_2,\cdots,a_n\) and \(b_1,b_2,\cdots,b_n\) of the same length is equal to \(\sum\limits_{i=1}^na_ib_i=a_1b_1+a_2b_2+\cdots+a_nb_n\) Problem Description Task.The goal is,given two sequences…
Problem Introduction Given a set of items and total capacity of a knapsack,find the maximal value of fractions of items that fit into the knapsack. Problem Description Task.The goal of this code problem is to implement an algorithm for the fractional…
Problem Introduction In this problem,you will design an algorithm for changing money optimally. Problem Description Task.The goal in this problem is to find the minimum number of coins needed to change the input value(an integer) into coins with deno…
Problem Introduction The Fibonacci numbers are defined as follows: \(F_0=0\), \(F_1=1\),and \(F_i=F_{i-1}+F_{i-2}\) for $ i \geq 2$. Problem Description Task.Given two integers \(n\) and \(m\), output \(F_n \ mod \ m\)(that is, the remainder of \(F_n…
Problem Introduction The least common multiple of two positive integers \(a\) and \(b\) is the least positive integer \(m\) that is divisible by both \(a\) and \(b\). Problem Description Task.Given two integers \(a\) and \(b\), find their least commo…
Problem Introduction The greatest common divisor \(GCD(a, b)\) of two non-negative integers \(a\) and \(b\) (which are not both equal to 0) is the greatest integer \(d\) that divides both \(a\) and \(b\). Problem Description Task.Given two integer \(…
Problem Introduction The Fibonacci numbers are defined as follows: \(F_0=0\), \(F_1=1\),and \(F_i=F_{i-1}+F_{i-2}\) for $ i \geq 2$. Problem Description Task.Given an integer \(n\),find the last digit of the \(n\)th Fibonacci number \(F_n\)(that is ,…
Problem Introduction The Fibonacci numbers are defined as follows: \(F_0=0\), \(F_1=1\),and \(F_i=F_{i-1}+F_{i-2}\) for $ i \geq 2$. Problem Description Task.Given an integer \(n\),find the \(n\)th Fibonacci number \(F_n\). Input Format.The input con…
Problem Description Task.Given a sequence of non-negative integers \(a_0, ..., a_{n-1}\),find the maximum pairwise product,that is,the largest integer that can be obtained by multiplying two different elements from the sequence(or,more formally,\(\ma…
Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.) You have the following 3 operations permitted on a word: a) Insert a characterb) Delete a characterc) Replace…
http://blog.csdn.net/abcjennifer/article/details/7735272 自然语言处理(NLP)中,有一个基本问题就是求两个字符串的minimal Edit Distance, 也称Levenshtein distance.受到一篇Edit Distance介绍文章的启发,本文用动态规划求取了两个字符串之间的minimal Edit Distance. 动态规划方程将在下文进行讲解. 简单地说,就是仅通过插入(insert).删除(delete)和替换(s…
One Edit Distance Given two strings S and T, determine if they are both one edit distance apart. 分析: 编辑距离复杂度为O(MN),而本题显然不能用这么高的复杂度:首先,可以通过判断两个字符串是否等长来决定用增一位.减一位.替换一位这三种方法之一来使得两个字符串等同,如果都不行,就return false:然后同时遍历S和T,第一次遇到不匹配的,就用刚才判断出的方法拯救一下:第二次还遇到不匹配的,就…
引言 二维动态规划中最常见的是棋盘型二维动态规划. 即 func(i, j) 往往只和 func(i-1, j-1), func(i-1, j) 以及 func(i, j-1) 有关 这种情况下,时间复杂度 O(n*n),空间复杂度往往可以优化为O(n) 例题  1 Minimum Path Sum  Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right whi…
一.题目说明 题目72. Edit Distance,计算将word1转换为word2最少需要的操作.操作包含:插入一个字符,删除一个字符,替换一个字符.本题难度为Hard! 二.我的解答 这个题目一点思路也没,就直接看答案了.用的还是dp算法,dp[n1+1][n2+1]中的dp[i][j]表示将word1的前i位,变为word2的前j位需要的步骤.注意第1行是空,第1列也是空. 1.第一行中,dp[0][i]表示空字符""到word2[0,...,i]需要编辑几次 2.第一列中,d…
原题链接在这里:https://leetcode.com/problems/one-edit-distance/ Given two strings S and T, determine if they are both one edit distance apart. 与Edit Distance类似. 若是长度相差大于1, return false. 若是长度相差等于1, 遇到不同char时, 长的那个向后挪一位. 若是长度相等, 遇到不同char时同时向后挪一位. 出了loop还没有返回,…
题目: Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.) You have the following 3 operations permitted on a word: a) Insert a characterb) Delete a characterc) Rep…
Given two strings s and t, determine if they are both one edit distance apart. Note: There are 3 possiblities to satisify one edit distance apart: Insert a character into s to get t Delete a character from s to get t Replace a character of s to get t…
Edit Distance Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.) You have the following 3 operations permitted on a word: a) Insert a characterb) Delete a chara…