numbers

partial_sort

怎甘沉沦 提交于 2020-02-20 13:44:35
参考http://c.biancheng.net/view/564.html 1.用法 通过示例很容易理解什么是部分排序。假设有一个容器,它保存了 100 万个数值,但我们只对其中最小的 100 个感兴趣。可以对容器的全部内容排序,然后选择前 100 个元素,但这可能有点消耗时间。这时候需要使用部分排序,只需要这些数中的前100个是有序放置的。 对于部分排序,有一个特殊的算法 partial_sort(),它需要 3 个随机访问迭代器作为参数。如果这个函数的参数是 first、second 和 last,那么这个算法会被应用到 [first,last) 这个范围内的元素上。执行这个算法后,[first,second) 会包含降序序列 [first,last) 中最小的 second-first 个元素。 ` 注意,在这个示例中,有一种之前没遇到过的表示方式 [first,last),用它来表示一个元素段,这是一个来自于数学领域的用来定义数字范围的概念——区间。这两个值叫作结束点,在这种表示法中,方括号表示包含相邻的结束点,圆括号表示相邻的结束点不包括在内。 例如,如果 (2,5) 是一个整数区间,2 和 5 都被排除在外,所以它只表示整数 3 和 4;这也被叫作开区间,因为两个结束点都不包含。区间 [2,5) 包含 2 但不包含 5,所以它表示 2、3 和 4。(2,5] 表示 3

《Effective python》-第2章 函数

笑着哭i 提交于 2020-02-19 04:24:09
文章目录 15.如何在闭包里使用外围作用域中的变量 16.考虑使用生成器来改写直接返回列表的函数 17.在迭代器上面反复迭代会出错 20.用None和文档字符串来描述具有动态默认值的参数 21.用关键字参数确保代码清晰 15.如何在闭包里使用外围作用域中的变量 可参考文章: python的闭包问题 总结 :可使用nonlocal语句,改为辅助类,使用单元素列表或集合等获取外围作用域的变量。 def sort_priority ( values , group ) : # 外部作用域 """功能:把在group中的元素排在所有值的前面,若存在group范围内的值,found为True""" found = False def helper ( x ) : # 闭包 if x in group : found = True # 实际上并未修改上面的值 return ( 0 , x ) return ( 1 , x ) values . sort ( key = helper ) return found numbers = [ 8 , 3 , 1 , 2 , 5 , 4 , 7 , 6 ] group = { 2 , 3 , 5 , 7 } print ( sort_priority ( numbers , group ) ) # False print ( numbers ) #

双指针总结

流过昼夜 提交于 2020-02-18 14:51:08
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。 示例 2: 给定 nums = [0,0,1,1,1,2,2,3,3,4], 函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。 你不需要考虑数组中超出新长度后面的元素。 我们使用i,j两个二指针, j 在前面走。如果 j 指向的元素等于 i 指向的元素 j 直接向前移,如果 j 指向的元素不等于 i 指向的元素,i 向前移 ,将 j 指向的元素赋给 i ,j向前移 public int removeDuplicates(int[] nums) { int i=0; for(int j=1;j<nums.length;++j){ if(nums[j] != nums[i]){ if(j-i != 1){ nums[++i]=nums[j]; } else{ ++i; //i,j相邻 直接 ++i } } } return i+1; } 给定一个已按照升序排列

mongodb 基础操作1

别等时光非礼了梦想. 提交于 2020-02-17 19:10:04
//1.进入my_test数据库 use my_test //2.向数据库的user集合中插入一个文档 db.users.insert({ username:"sunwukong" }); //3.查询user集合中的文档 db.users.find(); //4.向数据库的user集合中插入一个文档 db.users.insert({ username:"zhubajie" }); //5.查询数据库user集合中的文档 db.users.find(); //6.统计数据库user集合中的文档数量 db.users.find().count(); //7.查询数据库user集合中username为sunwukong的文档 db.users.find({username:"sunwukong"}); //8.向数据库user集合中的username为sunwukong的文档,添加一个address属性,属性值为huaguoshan db.users.update({username:"sunwukong"},{$set:{address:"huaguoshan"}}); //9.使用{username:"tangseng"} 替换 username 为 zhubajie的文档 db.users.replaceOne({username:"zhubajie"},{username:

Using AWK to filter out column with numerical ranges

本秂侑毒 提交于 2020-02-17 07:00:17
问题 I'm relatively new to BASH and I'm trying to use awk to filter out column 1 data based on the 4th column of a text file. If the 4th column of data matches the range of x, then it'll output column 1 data. "x" is suppose to be a range of numbers 1-10 (1,2,3..10). awk -F: '{ if($4=="x") print $1}' filename.txt filename.txt sample1 0 0 4 sample2 0 0 10 sample3 0 0 15 sample4 0 0 20 Actual use: awk -F: '{ if($4=="1-10") print $1}' sample.txt output = sample1, sample2, sample3, sample4 It should be

Using AWK to filter out column with numerical ranges

一世执手 提交于 2020-02-17 06:59:33
问题 I'm relatively new to BASH and I'm trying to use awk to filter out column 1 data based on the 4th column of a text file. If the 4th column of data matches the range of x, then it'll output column 1 data. "x" is suppose to be a range of numbers 1-10 (1,2,3..10). awk -F: '{ if($4=="x") print $1}' filename.txt filename.txt sample1 0 0 4 sample2 0 0 10 sample3 0 0 15 sample4 0 0 20 Actual use: awk -F: '{ if($4=="1-10") print $1}' sample.txt output = sample1, sample2, sample3, sample4 It should be

Using AWK to filter out column with numerical ranges

泪湿孤枕 提交于 2020-02-17 06:59:05
问题 I'm relatively new to BASH and I'm trying to use awk to filter out column 1 data based on the 4th column of a text file. If the 4th column of data matches the range of x, then it'll output column 1 data. "x" is suppose to be a range of numbers 1-10 (1,2,3..10). awk -F: '{ if($4=="x") print $1}' filename.txt filename.txt sample1 0 0 4 sample2 0 0 10 sample3 0 0 15 sample4 0 0 20 Actual use: awk -F: '{ if($4=="1-10") print $1}' sample.txt output = sample1, sample2, sample3, sample4 It should be

学习数据结构与算法(二)

北城余情 提交于 2020-02-12 20:53:12
Hello,everyone ! 想以一个轻松愉悦的心情来开始我的每一篇文章。 这是每一次的整理和缩影,希望大家可以发表意见,促进成长。 正值这个特殊时期,在家里开始研究数据结构与算法的问题,若有不对的地方,请各位指教!~~~ 接下来主要看一下数组。 一.使用 1.创建数组 最简单的方法就是通过 [ ] 操作符来声明一个变量(推荐这种方法) var numbers=[]; print(numbers.length); //0 还可以用Array的构造函数创建数组 var numbers=new Array(1,2,3); print(numbers.length); //5 在脚本语言里很常见的一个特性,数组中的元素不必是同一种数据类型,这一点和很多编程语言不同。 var sbjects=["Joe",1,true,null]; 可以通过Array.isArray 来判断一个对象是否是数组。 2.读写数组(这里不做介绍) 3.由自负床生成数组 .split() var sentence="12454314"; var array=sentence.split("4"); for(var i=0;i<array.length;++i){ print("word"+i+":"+array[i]); } //word 0:124 //word 1:54 //word 2:314 4

[python入门笔记--代码加详细注释]Programming with Mosh

六月ゝ 毕业季﹏ 提交于 2020-02-11 17:11:31
[python入门笔记--代码加详细注释]Programming with Mosh 原创 还有五个代码 最后发布于2019-12-03 22:43:02 阅读数 28 收藏 发布于2019-12-03 22:43:02 分类专栏: Python视频笔记 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/weixin_41950255/article/details/103376100 展开 emoji converter(知识点:字典,映射) message = input( ">" ) #用户输入消息(先右边再写左边是个好习惯) words=message. split ( ' ' ) #用空格将字符串分割(split里面的单引号或者双引号没多大影响) print (words) --执行-- >I love python so much [ 'I' , 'love' , 'python' , 'so' , 'much' ] #将空格改为o >I love you so much [ 'I l' , 've y' , 'u s' , ' much' ] message = input( ">" ) #用户输入消息 words = message.split( ' '

7、ReactJs基础知识07--列表渲染 & Key

点点圈 提交于 2020-02-10 21:12:56
思路:使用map函数将数组转化成列表,map函数是返回一个新的数组,并不会改变原来的数组 并且react在渲染数组时,会将元素拼接进行渲染,所以会 将数组展开渲染 1、通过使用 {} 在 JSX 内构建一个元素集合。 const numbers = [1, 2, 3, 4, 5]; const listItems = numbers.map((number,index) => <li key={index}>{number}</li> ); 2、基础组件列表 key 帮助 React 识别哪些元素改变了,比如被添加或删除。因此你应当给数组中的每一个元素赋予一个确定的标识。 key设置的位置:在 map() 方法中的元素需要设置 key 属性。 function NumberList(props) { const numbers = props.numbers; const listItems = numbers.map((number,index) => <li key={index}>{number}</li> ); return ( <ul>{listItems}</ul> ); } key 只是在兄弟节点之间必须唯一 key 会传递信息给 React ,但不会传递给你的组件。如果你的组件中需要使用 key 属性的值,请用其他属性名显式传递这个值 3、在 JSX 中嵌入 map