当前位置: 首页 > 面试题库 >

Swift 3 2D Int数组

胡向阳
2023-03-14
问题内容

这实际上是一个非常简单的问题,但是一个小时后我无法解决我的问题。

我需要创建一个Int的二维数组。

var arr = [[Int]]()
or
var arr : [[Int]] = []

试图改变价值:

arr[x][y] = 1

致命错误:索引超出范围

我应该使用APPEND还是需要指定数组的大小?

我很困惑..


问题答案:

真的不是那么简单。该行:

var arr : [[Int]] = []

创建一个类型为变量Array of Array of Int的数组,最初该数组为空。您需要像Swift中的其他数组一样填充它。

让我们回到单个数组:

var row : [Int] = []

您现在有一个空数组。您不能只做:

row[6] = 10

您首先必须向数组添加7个值,然后才能访问index处的值6(第7个值)。

使用数组数组时,您需要使用一组完整的内部数组来填充外部数组。并且每个内部数组都需要填充适当数量的值。

这是初始化数组数组的一种简单方法,假设您想要一个每个值都设置为0的预填充矩阵。

var matrix : [[Int]] = Array(repeating: Array(repeating: 0, count: 10), count: 10)

外部计数代表行数,内部计数代表列数。根据需要调整每个。

现在,您可以访问矩阵中的任何单元格:

matrix[x][y] = 1 // where x and y are from 0 to rows-1/columns-1


 类似资料:
  • 但是如何在O(n)中解决这个问题呢?

  • 问题内容: 我正在努力查看将值传递给函数时使用哪种方法是否有明显的优势。下面的代码可能不是解释我要做出的决定的最佳示例,但我认为这是最容易理解的示例。 可变参数方法 数组参数法 两种技术中的哪一种是首选?如果是这样,为什么(速度,可靠性或只是易于阅读)?谢谢。 问题答案: 我认为没有速度差异。因为,在功能内部,您可以像一样使用。 我认为如果参数数量较少(例如小于5个),则因为易于阅读,可能是一个更

  • 问题内容: 我有一个功能可以做到这一点: 哪个发送到我的数据库类,它执行以下操作: 问题是这不起作用。 我希望做的是获取列表,并在后面列出它们,以使查询类似于: 但是很明显,我走错了路。 有没有办法使数组…按原样转换为要在查询阶段打印出来的列表? 问题答案: call_user_func_array “使用参数数组调用回调” 应该做的工作 更新 :您还必须更改您的params数组: 如预期的那样,

  • 我有一个布尔方法的麻烦,我想检查数组是偶数,奇数,还是两者都不是。我输入数组大小和数组值,但是“isArrayEven”方法仍然输出“array中的所有数字都是偶数”,即使我的数组是1、2、3并且isArrayEven假定是false。 我

  • 当我在spring boot中使用postgresql函数时,当我使用array参数时,它返回一个数据不匹配错误。 我有一份模型文件。我正在将数据按顺序保存到这个模型文件中。当我以下面的方式将此发送到函数时,我得到一个错误。 多谢了。

  • 问题H[最长自然后继数]如果第二个是自然数序列中第一个的后继数(1和2是自然后继数),则两个连续的整数是自然后继数。编写一个程序,读取一个数字N,后跟N个整数,然后打印连续自然后继的最长序列的长度。示例: 输入 7 2 3 5 6 7 9 10输出3这里是我的代码到目前为止有人能帮我吗

  • 问题内容: 这不能按预期工作,因为创建数组时将执行数组中的每个函数。 通过执行以下操作来执行数组中任何函数的正确方法是: 谢谢! 问题答案: 然后在数组中执行给定函数时:

  • 某些情况下,我们在定义函数时可能并不能提前确定参数的数量,这时可以使用 C# 提供的参数数组,参数数组通常用于为函数传递未知数量的参数。 若要使用参数数组,则需要利用 params 关键字,语法格式如下: 访问权限修饰符 返回值类型 函数名(params 类型名称[] 数组名称) 提示:使用参数数组时,既可以直接为函数传递一个数组作为参数,也可以使用的形式传递若干个具体的值作为参数。 下面通过示例