num

python-多任务之协程

痴心易碎 提交于 2020-02-03 00:51:00
迭代的概念 使用for循环遍历取值的过程叫做迭代,比如:使用for循环遍历列表获取值的过程 # 例如 for value in [ 2 , 3 , 4 ] : print ( value ) 可迭代对象 使用for循环遍历取值的对象叫做可迭代对象, 比如:列表、元组、字典、集合、range、字符串 如何判断是否为可迭代对象 # 元组,列表,字典,字符串,集合,range都是可迭代对象 from collections . abc import Iterable # 3.7以上版本为导入collections.abc # from collections import Iterable # 判断对象是否是指定类型 result = isinstance ( ( 3 , 5 ) , Iterable ) print ( "元组是否是可迭代对象:" , result ) result = isinstance ( [ 3 , 5 ] , Iterable ) print ( "列表是否是可迭代对象:" , result ) result = isinstance ( { "name" : "张三" } , Iterable ) print ( "字典是否是可迭代对象:" , result ) result = isinstance ( "hello" , Iterable ) print

day07_Scanner类、Random类、ArrayList 类

自作多情 提交于 2020-02-03 00:31:39
API 概述 API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的 字典 ,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。 API使用步骤 打开帮助文档。 点击显示,找到索引,看到输入框。 你要找谁?在输入框里输入,然后回车。 看包。java.lang下的类不需要导包,其他需要。 看类的解释和说明。 学习构造方法。 使用成员 。 引用类型使用步骤 类属于引用类型的一种,所以符合引用类型的使用步骤 1:导包 使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类无需导入。 格式: 2:创建对象 使用该类的构造方法,创建一个该类的对象。 格式: 3:调用方法 调用该类的成员方法,完成指定功能。 格式: int i = sc.nextInt(); // 接收一个键盘录入的整数 Scanner类 一个可以解析基本类型和字符串的简单文本扫描器。Scanner类的功能:可以实现键盘输入数据,到程序当中。 Scanner使用步骤 查看类 java.util.Scanner :该类需要import导入后使用。

C语言函数---递归与迭代

老子叫甜甜 提交于 2020-02-03 00:02:39
简单介绍C语言函数 C语言函数是一种函数,用来编译C语言,所在库函数为ctype.h,分为分类函数,数学函数,目录函数,进程函数,诊断函数,操作函数等。 从表面上看,函数在使用时必须带上括号,有必要的话还要传递参数,函数的执行结果也可以赋值给其它变量 对于库函数和自定义函数 C语言在发布时已经为我们封装好了很多函数,它们被分门别类地放到了不同的头文件中(暂时先这样认为),使用函数时引入对应的头文件即可。这些函数都是专家编写的,执行效率极高,并且考虑到了各种边界情况,各位读者请放心使用。 C语言自带的函数称为库函数(Library Function)。库(Library)是编程中的一个基本概念,可以简单地认为它是一系列函数的集合,在磁盘上往往是一个文件夹。C语言自带的库称为标准库(Standard Library),其他公司或个人开发的库称为第三方库(Third-Party Library)。 递归与迭代的区别 递归的基本概念:程序调用自身的编程技巧称为递归,是函数自己调用自己. 一个函数在其定义中直接或间接调用自身的一种方法,它通常把一个大型的复杂的问题转化为一个与原问题相似的规模较小的问题来解决,可以极大的减少代码量.递归的能力在于用有限的语句来定义对象的无限集合. 使用递归要注意的有两点: 1)递归就是在过程或函数里面调用自身; 2)在使用递归时,必须有一个明确的递归结束条件

线性dp

你离开我真会死。 提交于 2020-02-02 23:29:54
拦截导弹(acwing.1010) 【题意】:某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数,导弹数不超过1000),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。 【分析】:第一个输出直接LIS就行,对于第二个问要考虑贪心思想,考虑一个拦截系统,起最后一个的高度肯定越大越有利于后面的元素增加进来,所需要的系统肯定就越少。所以用一个g数组来维护其最小元素的最大值,元素的个数就是最终所需的最少的拦截系统的个数。 #include <cstdio> #include <algorithm> #include <cstdlib> using namespace std; const int maxn=1e3+10; int arr[maxn],t,dp[maxn]; int g[maxn]; int main() { int tot=0; while (~scanf("%d",&t)){ arr[++tot]=t; } int ans=0; for(int i=1

区间dp

那年仲夏 提交于 2020-02-02 23:26:20
目录 区间dp经典问题: 1.石子合并问题 2.括号匹配问题 3.整数划分问题 定义:区间dp就是在区间上进行动态规划,求解一段区间上的最优解。其主要思想就是现在小区间进行dp得到最优解,然后再利用小区间的最优解结合并大区间的最优解。 区间dp经典问题: 1.石子合并问题 有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆。求出总的代价最小值。 样例: 3堆石子 1 2 3 输出9(1+2+1+2+3=9) 我们假设 dp[i][j] 表示取第 i~j 堆的最小代价;由此我们可以得出状态转移方程: \(dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+w[i][j])\) ;得出状态转移方程后我们只需枚举k即可。(其中w[i][j]为取 i~j 石子的代价,即sum[j] - sum[i-1])。 show code(有一点要注意的,要先枚举长度,因为后面的状态的长度要用到前一个状态的长度): #include <iostream> #include <cstdlib> #include <algorithm> #include <cstring> #include <stdio.h> using namespace std;

STL之去重函数unique()

拟墨画扇 提交于 2020-02-02 21:13:56
STL之去重函数unique() 很多同学都会遇到去重这样的问题 在没有认识到STL之前都是利用数组下标来解决 例如: # include <bits/stdc++.h> using namespace std ; int num [ 10000 ] ; //以10000以内的数据举例子 int cn [ 10000 ] ; int main ( ) { int n ; cin >> n ; int a , b , c ; for ( int i = 0 ; i < n ; i ++ ) { cin >> num [ i ] ; cn [ num [ i ] ] ++ ; //将数据以数据下标储存 } for ( int i = 1 ; i <= 10000 ; i ++ ) { if ( cn [ i ] ) cout << i << " " ; //在数据比较小的时候还是很好使用的 } return 0 ; } 这种利用数组下标的去重方法是比较不错的,但是随着数据的多样化和数据的复杂化,是很容易超时的。下面我们将引入STL中的重函数unique()函数。 我们用去重函数unique()写出与上一代码相同作用的代码 如下: # include <bits/stdc++.h> using namespace std ; int num [ 10000 ] ; int main (

leetcode 338. 比特位计数

时间秒杀一切 提交于 2020-02-02 20:38:17
比特位技术的解题思路: 方法一: 动态规划 1.arr[i]=arr[i&(i-1)]+1 方法二: 遍历每一个数字,获得每个数字的1的个数 代码 public static int[] countBits(int num) { int[] arr=new int[num+1]; for(int i=0;i<=num;i++){ int oneNum = getOneNum(i); arr[i]=oneNum; } return arr; } public static int[] countBits2(int num) { int[] arr=new int[num+1]; for(int i=1;i<=num;i++){ arr[i]=arr[i&(i-1)]+1; } return arr; } public static int getOneNum(int num){ int count=0; while(num>0){ count++; num=num&(num-1); } return count; } public static void main(String[] args) { int oneNum = getOneNum(10); System.out.println(oneNum); int[] nums = countBits(5); System.out

五.1分页--展示所有页码

笑着哭i 提交于 2020-02-02 13:42:47
应该规定每页显示多少条数据,再拿总数据量除每页显示的数据条数就知道到底总共有多少页。 需要的变量:   最多显示的页码数--max_show = 11  half_show = max_show // 2   每页显示的数据条数--per_num = 10   总数据量--all_count = len(users) #计算users有多长即可   总页码数---total_num, more = divmod(all_count, per_num) #总数据量除每页数据条数即可--用divmod方法,但注意此法返回的是一个元组,所以我接收两个参数      total_num是整除的数,more是余数。   存放li标签的列表-- html_list = []   切片的起始值-- start = (current_page - 1) * per_num   切片的终止值-- end = current_page * per_num 1.显示所有页码数: (1)views.py中: from django.utils.safestring import mark_safe users = [{'name':'zhihua{}'.format(i),'pwd':'zh12345{}'.format(i)} for i in range(1,302)]def user_list

100个JavaScript代码片段

我的未来我决定 提交于 2020-02-02 13:00:32
实现字符串长度截取 function cutstr(str, len) { var temp; var icount = 0; var patrn = /[^\x00-\xff]/; var strre = ""; for (var i = 0; i < str.length; i++) { if (icount < len - 1) { temp = str.substr(i, 1); if (patrn.exec(temp) == null) { icount = icount + 1 } else { icount = icount + 2 } strre += temp } else { break } } return strre + "..." } 获取域名主机 function getHost(url) { var host = "null"; if(typeof url == "undefined"|| null == url) { url = window.location.href; } var regex = /^\w+\:\/\/([^\/]*).*/; var match = url.match(regex); if(typeof match != "undefined" && null != match) { host = match[1]; }

1032 挖掘机技术哪家强 (20分)

廉价感情. 提交于 2020-02-02 09:44:49
#include <iostream> using namespace std; int main() { int n,num,g,max_g=0,max_i=0; int grade[100005]={0};//参赛学校编号可能大于10^5(最后一个测试样例) cin>>n; for(int i=1;i<=n;i++) { cin>>num>>g; grade[num]+=g; if(grade[num]>=max_g) { max_i=num; max_g=grade[num]; } } cout<<max_i<<" "<<grade[max_i]<<endl; return 0; } 来源: https://www.cnblogs.com/QRain/p/12251004.html