![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode专题
一天一道leetcode,让我们一起进步
唯尘
知南而北游!
展开
-
选择排序详解 -- 看了就会
选择排序原理: 选择排序(Selection sort): 是一种简单直观的排序算法。它的工作原理如下:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 def Myselect_sort(alist): for i in range(len(alist)):...原创 2020-04-02 08:11:16 · 294 阅读 · 0 评论 -
LeetCode(面试题62):圆圈中最后剩下的数字
写在前面: 这个鬼题虽说是个简单的题(真的很简单)!但是其中官方给的题解很蛋疼。那么今天就看一下这个题,还有蛋疼的题解。 题目描述 0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。 ...原创 2020-03-30 20:44:09 · 226 阅读 · 0 评论 -
LeetCode每日一题(169)多数元素
题目描述 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 输入: [3,2,3] 输出: 3 输入: [2,2,1,1,1,2,2] 输出: 2 写这道题最简单暴力的就是遍历序列,存入字典中,最后比较得出答案,但是,时间复杂度是O(n^2),因此不推荐使用。 在pyt...原创 2020-03-13 20:20:50 · 508 阅读 · 0 评论 -
LeetCode每日一题(1) 字符串最大公因子
前言: 从今天开始每天一道leetcode,从简单的开始,加油!!! 废话不多说了,先上题目。 题目描述: 对于字符串 S 和 T,只有在 S = T + … + T(T 与自身连接 1 次或多次)时,我们才认定 “T 能除尽 S”。 返回最长字符串 X,要求满足 X 能除尽 str1 且 X 能除尽 str2。 示例: 输入:str1 = “ABCABC”, str2 = “ABC” 输出:“...原创 2020-03-13 12:08:18 · 324 阅读 · 0 评论 -
冒泡排序详解--看了就会
冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。 def bubbsort(arr): num = len(arr) # 外层循环 for i in ra...原创 2020-03-10 21:38:54 · 369 阅读 · 0 评论 -
详解利用filter函数求解素数--埃氏筛选
filter函数 filter函数(筛选函数): 有两个参数,第一个参数是一个函数,第二个函数是一个序列。把函数依次作用于序列的元素,根据返回值判断保留还是丢弃这个元素。filter函数最后返回的是一个filter对象(迭代器对象)。 def pre_filter(x): return x%2 == 0 li = [1,2,3,4,5,6,7,8,9] print(filter(pre_...原创 2020-03-10 14:21:11 · 1474 阅读 · 2 评论