2024-06-01:用go语言,给定一个从0开始索引的整数数组 nums 、两个正整数 k 和 dist 。
数组的代价是该数组中的第一个元素。
问题要求将数组 nums 分割成 k 个连续且不重叠的子数组,
同时确保第二个到第k个子数组的第一个元素与它前面的子数组的最后一个元素的距离不超过 dist 。
换句话说,要把数组分割成这样的子数组:
nums[0..(i1 - 1)], nums[i1..(i2 - 1)], ..., nums[ik-1..(n - 1)],
并且满足 ik-1 - i1 <= dist 。
问题的目标是求得这些子数组的代价之和的最小值。
输入:nums = [1,3,2,6,4,2], k = 3, dist = 3。
输出:5。
数据注释:
//Changing database table name to Metadata
[Table("Metadata")]
public class Metadata
{
[Required, Key]
public int MetadataId { get; set; }
[Required, ScaffoldColumn(false)]
public int DocumentId { get; set; }
[Required, StringLength(250), DataType(DataType.Text)]
public string Title { get; set;
}
或者使用API:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//Changing Database table name to Metadata
modelBuilder.Entity<Metadata>()
.ToTable("Metadata");
}
如果您想确保域模型保持整洁,使用Fluent Api是首选选项。
如果您只想删除表名的多元化,那么只需添加此功能,就可以重写EFS功能,这样可以使用以下代码行:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}