citi online banking的secure messages坏了?# Money - 海外理财g*j2016-05-13 07:051 楼string s 和 string t,求 t 在s中出现的次数,不一定要是连续的比如ababc 和 ab 返回3ababca 和 aa 返回 3怎么高效的做这个?
l*82016-05-13 07:055 楼dpcount[i][j] 表示S前i个字符里包含T的前j个字符的次数【在 g***j 的大作中提到】: string s 和 string t,求 t 在s中出现的次数,不一定要是连续的: 比如: ababc 和 ab 返回3: ababca 和 aa 返回 3: 怎么高效的做这个?
b*y2016-05-13 07:056 楼应该有O(n)的解法,就是mininum window string的思路【在 g***j 的大作中提到】: string s 和 string t,求 t 在s中出现的次数,不一定要是连续的: 比如: ababc 和 ab 返回3: ababca 和 aa 返回 3: 怎么高效的做这个?
a*02016-05-13 07:059 楼我觉得他不是这样的意思 比如他第二个例子 我不知道三是怎么弄出来的 如果是把第一个a和最后一个a组成的也算aa 那就是三个 但是需要跳过第二个a【在 l*********8 的大作中提到】: dp: count[i][j] 表示S前i个字符里包含T的前j个字符的次数
l*82016-05-13 07:0510 楼是要跳过第二个a【在 a**********0 的大作中提到】: 我觉得他不是这样的意思 比如他第二个例子 我不知道三是怎么弄出来的 如果是把第: 一个a和最后一个a组成的也算aa 那就是三个 但是需要跳过第二个a
a*02016-05-13 07:0511 楼这样就不能用dp了啊 int dp[i] 表示已经有的t中的字符数 如果跳过第二个a 那就有两种状态 有可能是一 有可能是二我觉得他就是从s中挑t.length()个字符的排列 看看有多少中挑法 可以和t一样这个是典型的递归【在 l*********8 的大作中提到】: 是要跳过第二个a
l*82016-05-13 07:0512 楼S = "ababca", T="aa"这个例子count[0][0], count[1][0]... count[5][0]的值是:1 1 2 2 2 3count[0][1], count[1][1]... count[5][1]的值是:0 0 1 1 1 3递推:(没写边界情况)if (S[i] == T[j])count[i][j] = count[i-1][j] + count[i-1][j-1];elsecount[i][j] = count[i-1][j];【在 a**********0 的大作中提到】: 这样就不能用dp了啊 int dp[i] 表示已经有的t中的字符数 如果跳过第二个a 那就有: 两种状态 有可能是一 有可能是二: 我觉得他就是从s中挑t.length()个字符的排列 看看有多少中挑法 可以和t一样: 这个是典型的递归
a*02016-05-13 07:0513 楼我想错了【在 l*********8 的大作中提到】: S = "ababca", T="aa"这个例子: count[0][0], count[1][0]... count[5][0]的值是:: 1 1 2 2 2 3: count[0][1], count[1][1]... count[5][1]的值是:: 0 0 1 1 1 3: 递推:(没写边界情况): if (S[i] == T[j]): count[i][j] = count[i-1][j] + count[i-1][j-1];: else: count[i][j] = count[i-1][j];