dangdangA

导航

08 2020 档案

双指针应用
摘要:#同向:不改变元素的相对位置 #反向:改变元素的相对位置 例一:翻转数组,不额外开辟空间O(1) [1,2,3,4,5,6,7,8] → [8,7,6,5,4,3,2,1] #反向 1 def reverseArray(s): 2 i, j = 0, len(s) - 1 3 while i < j 阅读全文

posted @ 2020-08-24 10:41 dangdangA 阅读(181) 评论(0) 推荐(0)

华为笔试题之排序去重
摘要:明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排 阅读全文

posted @ 2020-08-19 11:00 dangdangA 阅读(323) 评论(0) 推荐(0)

快速选择算法--解决未排序的数组中寻找第K小/大的元素
摘要:与快速排序不同的是,快速选择算法只需要对基准数的一边进行递归 首先,找出基准数的下标p; 其次,判断p与(left + k -1)的大小,如果小于的话,直接对数组基准数的左边进行递归快排,选择第 k个;如果大于的话,对基准数的右边进行选择,选择第K-P-1+left 1 def parttion(v 阅读全文

posted @ 2020-08-13 20:34 dangdangA 阅读(486) 评论(0) 推荐(0)