代码拉取完成,页面将自动刷新
using System;
using System.Collections.Generic;
public class Solution {
public int MinCut(string s) {
if (s.Length == 0) return 0;
var paths = new List<int>[s.Length];
for (var i = 0; i < s.Length; ++i)
{
int j, k;
for (j = i, k = i + 1; j >= 0 && k < s.Length; --j, ++k)
{
if (s[j] == s[k])
{
if (paths[k] == null)
{
paths[k] = new List<int>();
}
paths[k].Add(j - 1);
}
else
{
break;
}
}
for (j = i, k = i; j >= 0 && k < s.Length; --j, ++k)
{
if (s[j] == s[k])
{
if (paths[k] == null)
{
paths[k] = new List<int>();
}
paths[k].Add(j - 1);
}
else
{
break;
}
}
}
var partCount = new int[s.Length];
for (var i = 0; i < s.Length; ++i)
{
partCount[i] = int.MaxValue;
if (paths[i] != null)
{
foreach (var path in paths[i])
{
if (path < 0)
{
partCount[i] = 0;
break;
}
else
{
partCount[i] = Math.Min(partCount[i], partCount[path]);
}
}
}
++partCount[i];
}
return partCount[s.Length - 1] - 1;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。