gpt4 book ai didi

c# - 如何将二维 C# 数组初始化为所有相同的值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:11:09 24 4
gpt4 key购买 nike

下面的评论中描述了我想做的事情。我该怎么做才能高效?

using System;
using System.Collections.Generic;
using System.IO;
class Solution {
static void Main(String[] args) {
int n = Int32.Parse(Console.ReadLine());
bool[][] flags = new bool[26][n]; // I want this to be a 26 x n array of false values
for(int k = 0; k < n; ++k)
{
string line = Console.WriteLine();
for(int i = 0; i < line.Length; ++i)
flags[(int)line[i] - (int)'a'] = true;
}
int gems = flags.Count(arr => arr.Count(j => j == true) == arr.Length);
Console.WriteLine
}
}

最佳答案

LINQ 应该能很好地实现您的目标:

bool[][] flags = Enumerable.Range(0, 26).Select(_ => Enumerable.Repeat(true, n).ToArray()).ToArray();

或者正如 Jim Mischel 所说:

bool[][] flags = Enumerable.Repeat(Enumerable.Repeat(true, n).ToArray(), 26).ToArray();

但第一个示例使用的内存较少,因为 Select 方法在执行过程中没有重新定义 Enumerable.Repeat(true, n).ToArray()的项目。

关于c# - 如何将二维 C# 数组初始化为所有相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38757512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com