数组总结篇:调整笔误,增加二维数组的内容是针对Java语言的限定

This commit is contained in:
qyg
2022-04-22 11:21:18 +08:00
parent 4d668b0efc
commit 664746fe15

View File

@ -43,19 +43,19 @@
**那么二维数组在内存的空间地址是连续的么?**
我们来举一个例子,例如: `int[][] rating = new int[3][4];` 这个二维数在内存空间可不是一个 `3*4` 的连续地址空间
我们来举一个Java的例子,例如: `int[][] rating = new int[3][4];` 这个二维数在内存空间可不是一个 `3*4` 的连续地址空间
看了下图,就应该明白了:
<img src='https://code-thinking.cdn.bcebos.com/pics/%E7%AE%97%E6%B3%95%E9%80%9A%E5%85%B3%E6%95%B0%E7%BB%843.png' width=600> </img></div>
所以**二维数在内存中不是 `3*4` 的连续地址空间,而是四条连续的地址空间组成!**
所以**Java的二维数在内存中不是 `3*4` 的连续地址空间,而是四条连续的地址空间组成!**
# 数组的经典题目
在面试中,数组是必考的基础数据结构。
其实数的题目在思想上一般比较简单的,但是如果想高效,并不容易。
其实数的题目在思想上一般比较简单的,但是如果想高效,并不容易。
我们之前一共讲解了四道经典数组题目,每一道题目都代表一个类型,一种思想。
@ -115,7 +115,7 @@
在这道题目中,我们再一次介绍到了**循环不变量原则**,其实这也是写程序中的重要原则。
相信大家遇到过这种情况: 感觉题目的边界调节超多,一波接着一波的判断,找边界,了东墙补西墙,好不容易运行通过了,代码写的十分冗余,毫无章法,其实**真正解决题目的代码都是简洁的,或者有原则性的**,大家可以在这道题目中体会到这一点。
相信大家遇到过这种情况: 感觉题目的边界调节超多,一波接着一波的判断,找边界,了东墙补西墙,好不容易运行通过了,代码写的十分冗余,毫无章法,其实**真正解决题目的代码都是简洁的,或者有原则性的**,大家可以在这道题目中体会到这一点。
# 总结