一些总结:
错误写法:
一个经常使数组越界的写法:
int[] array ={};
这样写直接只有0个 那用的时候不得疯狂溢出。
普通固定长度写法:
int[] array = new int[5];
这样写要固定长度。
动态数组:
ArrayList array = new ArrayList();// 调用直接int.parse(array[5].ToString());
动态数组的好处就是你可以 不设定数组长度 由系统自己分配。(尤其是某刷题网站 经常会检测你的数组无限长度时是不是也符合它要求), 直接对象转字符串转int 就可以访问了
(目前还没找到C# 的ArrayList 二维数组写法,后面再找找)
用ChatGPT提问得到的答案:
您可以使用以下代码创建一个二维ArrayList:
ArrayList<ArrayList<Integer>> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add(new ArrayList<Integer>());
for (int j = 0; j < 10; j++) {
list.get(i).add(j);
}
}
关于二维三维(多维)数组:
string本身就是数组
public string LongestCommonPrefix(string[] strs)
{
int intShortlen = int.MaxValue;
//int intMaxsamelen = 0;
string strShort = string.Empty; //本身是字符char数组
string strRet = string.Empty;
for (int i = 0; i < strs.Length; i++) {
if (strs[i].Length < intShortlen) {
intShortlen = strs[i].Length;
strShort = strs[i];
}
}
for (int i = 0; i < intShortlen; i++) {
for (int j = 0; j < strs.Length; j++) {
if (strShort[i] != strs[j][i]) //传入的形参string strs 可直接遍历两遍
return strRet;
}
strRet += strShort[i]; //可提取 还可直接加在字符串结尾
}
return strRet;
}
string[] strs 传入的形参string strs 可直接遍历两遍 strs[j][i]
例如:string[] strs ={"nihao","123","beijin"};
strs[1][0] ='1';
string strShort 也可直接 提取 strShort[i]