数组与字符串 python

数组与字符串 python,第1张

数组字符串 python

数组和字符串是两种最基本的数据结构。这两种数据结构相似点在于使用连续的内存存储,在面试中属于比较简单的题,一般专门考察数组和字符串出现的概率不是很大,但是会出现在面试题中作为其中一种解体方法或者作为解体中的一个步骤。

数组

最简单的数据结构,一块连续的内存存储所有的数据,所以可以根据下标在O(1)时间内读写任意数据,时间效率很高,也可以用这点来实现一个简单的哈希表:把数组的下标设置成key,对应的值设置成value。

数组有一维数组和多维数组,简单的数据结构算法题不一定简单,比如这道题

面试题3:数组中重复的数字_文选的blog-CSDN博客

越简单反而考察的点越多,虽然在力扣中这道题被标记为简单题,只能说它的解法很简单,由于这道题解法多种多样,不同的解法需要的条件各不相同,比如时间复杂度要求,空间复杂度要求,是不是能改变原数组等,与面试官沟通的过程更重要,难度其实丝毫不低于链表和树的题目。也就是机试时是简单题,而面试时却是困难题。

二维数组的考察作者给了一道找规律的题,如果记忆没有错的话很多二维数组实际上都是找规律的题,甚至用数学归纳法总结出一个公式都可以,所以我自己感觉这种多维数组的考察,更像是考察矩阵运算,所以只能意会,记住技巧就好。比如作者给的第四道题

面试题4:二维数组中的查找_文选的blog-CSDN博客

字符串

字符串这个,很多人首先都有点糊涂字符串和数组的区别,因为字符串和数组都同属于sequence,也都是内存中连续存储的数据结构,也可以用切片等方法,所以有很强的相似性。实际上区别还是有的,比如python的字符串不使用库函数的情况下,直接用索引的方式只能查询不能修改,所以python的字符串算法题,很多人都会先转成list,最后在用join的方式转成string。

作者给出的题是这个

面试题5:替换空格_文选的blog-CSDN博客

这道题中用到了从后向前的双指针法,双指针法是算法题中很常用的方法,通过这道题可以体会下双指针的使用。另外二维数组那个题和这个空格题,都用到了从后向前的思想,很多题也会这样的想法,有时候实在想不通怎么解决,尝试换一个方向。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5571828.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存