【问题标题】:finding the subsequence of strings in c# urjent在 c# urjent 中查找字符串的子序列
【发布时间】:2019-11-26 18:38:23
【问题描述】:

Alice 有两个字符串,初始和目标。她可以从初始字符中删除一些字符,这将为她提供该字符串的子序列。没有删除的字符串仍被视为其自身的子序列。给定这两个字符串,你能找到初始子序列的最小数量,当它们附加在一起时,将形成目标?

【问题讨论】:

  • 陈述你的家庭作业并不是在问问题。

标签: string subsequence


【解决方案1】:
function minimumConcat(initial, goal) {

   let result = 0;
   let pattern = ''
   let count1 = Array.apply(null, Array(26)).map(Number.prototype.valueOf, 0);
   let count2 = Array.apply(null, Array(26)).map(Number.prototype.valueOf, 0);

   initial.split('').forEach(c => {
     pattern = pattern + c
   });
   pattern = "^[" + pattern + "]*$"

   if (!RegExp(pattern).test(goal)) return -1

   for (let i = 0; i < initial.length; i++) {
        count1[initial.charCodeAt(i) - 97]++;
   }

   for (let i = 0; i < goal.length; i++) {
        count2[goal.charCodeAt(i) - 97]++;
   }

   for (let i = 0; i < 26; i++) {
        result += Math.abs(count1[i] - count2[i]);
   }

   return result;
}
var initial = readline();
var goal = readline();

print(minimumConcat(initial, goal));

【讨论】:

    猜你喜欢
    • 2011-04-10
    • 2015-06-10
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 2013-06-01
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    相关资源
    最近更新 更多