int[] array = new int[s.length()]; //this allocates memory for an array with 4 elements
有没有其他方法可以做到这一点,而不使用字符串,只使用整数?
您可以使用math#log10查找位数。
numOfDigits = (int)(Math.log10(n)+1);
现在你做了:
int[] array = new int[numOfDigits];
注意,如果n=1999
,numofdigits
将为4。因此,您将内存分配给4个整数,而不是1999个整数。
问题内容: 一个int数组占用多少空间?或者一个int数组消耗多少空间(以字节为单位),看起来像这样: 内存分配语言是否特定? 谢谢你们 问题答案: 由于您添加了许多语言标签,因此我想为C#编写代码。在C#中,这取决于操作系统。 对于32位,每个都是4字节,另外4字节也用于引用对象,这使得4 * 4 + 4 = 20字节 对于64位,每个都是4字节,而8字节也用于引用该对象,这使得4 * 4 +
问题内容: 我有一个快速的问题。我在java中有一个整数数组,需要它的长度在整个类中变化。具体来说,在某些情况下,我需要将其增加一。我这样尝试过。 我会在需要时增加整数变量numberOfSBG,但我认为这不起作用。还有其他办法吗? 问题答案: 我建议您使用ArrayList,因为您不必担心长度。创建后,您将无法修改数组大小: 数组是一个包含固定数量的单一类型值的容器对象。创建数组时将确定数组的长
问题内容: 我在以下几行中遇到问题,其中未初始化的数组/没有元素。 有什么可能的解决方案? 问题答案: 由于尚未初始化,因此没有长度,其值为。但是,编译器甚至不允许您按 原样 编译该代码,从而引发以下错误: 变量car可能尚未初始化 。 您需要先对其进行初始化,然后才能使用: 如果需要初始化一个空数组,可以使用以下命令: 如果需要使用特定的大小初始化它,以便填充某些位置,可以使用以下命令: 但是,
怎么让arr1占3个,arr2占5个,剩下的都给arr3
我们将如何测试数组中每个子数组的长度等于子数组元素之和的P倍的所有子数组组合。 一个简短的示例:编辑: 期望的结果: 长度=2,P*元素之和=1。子序列是 编辑约束: 这些问题属于什么样的问题集(例如:NP-hard?)?语言:C#
如何加快以下问题陈述的执行速度?我有一个正确的解决方案,通过每一个测试的小输入。但是,它超过了较大输入的时间限制。我当前的实现是数组大小的二次型。 你的答案应该是基于1的,这意味着数组的第一个位置是1而不是0。 实施