删除排序数组中的重复项 II 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定 nums = [1,1,1,2,2,3], 函数应返回新长 ...
分类:
编程语言 时间:
2019-10-11 23:43:56
阅读次数:
123
k近邻算法的Python实现 0. 写在前面 这篇小教程适合对Python与NumPy有一定了解的朋友阅读,如果在阅读本文的源代码时感到吃力,请及时参照相关的教程或者文档。 1. 算法原理 k近邻算法(k Nearest Neighbor)可以简称为kNN。kNN是一个简单直观的算法,也是机器学习从 ...
分类:
编程语言 时间:
2019-10-11 20:00:18
阅读次数:
111
题目1:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 示例 2: 给定 nums = [0,0,1,1,1,2,2,3,3,4], 测试代码: ...
分类:
编程语言 时间:
2019-10-10 22:08:29
阅读次数:
139
32个常用 Python 实现 1、冒泡排序 lis = [56,12,1,8,354,10,100,34,56,7,23,456,234,-58] def sortport: for i in range(len(lis)-1): for j in range(len(lis)-1-i): if ...
分类:
编程语言 时间:
2019-10-10 20:38:54
阅读次数:
87
栈,又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。 向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为 ...
分类:
编程语言 时间:
2019-10-10 15:54:12
阅读次数:
86
Python实现zip分卷压缩 使用 zipfile 库 查看 "官方中文文档" 利用 Python 压缩 ZIP 文件,我们第一反应是使用 库,然而,它的官方文档中却明确标注“此模块目前不能处理分卷 ZIP 文件”,(⊙﹏⊙) 折腾经过 翻遍了Google、CSDN、Stackoverflow等平 ...
分类:
编程语言 时间:
2019-10-09 00:19:17
阅读次数:
332
题目描述: 中文: 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 输入: 1->1->2输出: 1->2 示例 2: 输入: 1->1->2->3->3输出: 1->2->3 英文: Given a sorted linked list, delete all dupl ...
分类:
编程语言 时间:
2019-10-08 21:55:25
阅读次数:
86
Python实现八大排序算法,具体内容如下 1、插入排序描述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素, ...
分类:
编程语言 时间:
2019-10-07 21:19:01
阅读次数:
94
一、概述 快速排序(quick sort)是一种分治排序算法。该算法首先 选取 一个划分元素(partition element,有时又称为pivot);接着重排列表将其 划分 为三个部分:left(小于划分元素pivot的部分)、划分元素pivot、right(大于划分元素pivot的部分),此时 ...
分类:
编程语言 时间:
2019-10-07 00:27:36
阅读次数:
102
一、顺序搜索 顺序搜索 是最简单直观的搜索方法:从列表开头到末尾,逐个比较待搜索项与列表中的项,直到找到目标项(搜索成功)或者 超出搜索范围 (搜索失败)。 根据列表中的项是否按顺序排列,可以将列表分为 无序列表 和 有序列表。对于 无序列表,超出搜索范围 是指越过列表的末尾;对于 有序列表,超过搜 ...
分类:
编程语言 时间:
2019-10-06 23:18:38
阅读次数:
176