力扣学习记录

26 年 3 月 26 日 星期四
446 字
3 分钟

数组

连续的内存空间中,存储一组相同类型的元素

·访问 O(1) %% 时间复杂度 %% ·搜索 O(N) ·插入 O(N) ·删除 O(N)

适合读 不适合写

数组常用操作\underline{\text{数组常用操作}}

text
创建数组
a = []  
添加元素
a.append(1)
a.append(2)     %%  append也有可能是O(N)的,比如如果2后面内存不够了,再加要整体挪 %%

插入 	a.insert(1,99)  %% 意思是在元素1后面加一个99 %%

访问  a[2] (=99)

更新元素   a[2]=88  %% 就可以把99换成88 %%

删除元素的三种方法 a.remove(88)  %%  88指的是值 %%
	         a.pop(1)  %% 1指的是索引 %%
	         a.pop() %%  默认删除最后一个元素 %%

获取数组长度  a=[1,2,3]
	size = len(a)

遍历数组的三种方法
		for i in a:
			print(i)   %% i代表的是数组里面的元素 %%
	
		for index,element in enumerate(a):
			print("index at",index,"is",element)

		for i in range(0,len(a)):
			print("i:",i,"element:",a[i])		

查找某个元素
		index = a.index(2)   %% 此时为查找"2"这个值的索引 %%

数组排序  排序时间复杂度O(NlogN)
	a=[2,1,3]
	a.sort()    %%  a变成了[1,2,3],从小到大 %%
	a.sort)(reverse=True)  %% a变成[3,2,1] %%

数组三个练习题 485,283,27

链表

203 206 **适合读少写多

python中常用操作:

用的包 deque

1、创建链表 linkedlist = deque()

2、添加元素 linkedlist.append(1) %% 此时是在尾部添加 %% linkedlist.append(2) linkedlist.append(3)

%% 想在中间添加 %% linkedlist.insert(2,99) %% 分别是位置索引和值 %% %% 此时复杂度仍然为O(N),因为指针很有可能在一开始,要找到这个元素 %%

3、访问元素 element = linkedlist[2] print(element) %% 时间复杂度O(N) %%

4、搜索元素 index = linkedlist.index(99) %% 查找数值为99的元素的索引 %%

5、更新元素 linkedlist[2]=88

6、删除元素 linkedlist.remove(88) %% 这是删除88这个元素 %%

del linkedlist[2] %% 这是删除索引为2的值 %%

7、长度 length = len(linkedlist)

文章标题:力扣学习记录

文章作者:Lu

文章链接:https://xinlanlu1225-creator.github.io/posts/datastructure/leetcodelog[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。