num

什么是闭包?

梦想的初衷 提交于 2020-02-12 00:17:52
一、什么是闭包? 闭包就是能够读取其他函数内部变量的函数,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。 函数的嵌套形成闭包,闭包包括函数本身以及它的外部作用域。使用闭包可以形成独立的控件,延长变量的生命周期,保存中间状态值。 js语言中,函数内部可以直接读取函数外部的全局变量,而函数外部却无法读取函数内部的变量。 那么如何获取函数内部的变量呢,那就是在函数内部,在定义一个函数,这个函数可以拿到它上一级函数的变量,接着把这个函数当成返回值返回,就可以拿到定义在函数内部的变量 简单的说,作用域是针对变量的,比如我们创建一个函数 a1 ,函数里面又包了一 个子函数 a2 。此时就存在三个作用域: 全局作用域、 a1 作用域、 a2 作用域;即全局作用域包含了 a1 的作用域, a2 的作用 域包含了 a1 的作用域。 当 a1 在查找变量的时候会先从自身的作用域区查找,找不到再到上一级 a2 的作用域 查找,如果还没找到就到全局作用域区查找,这样就形成了一个作用域链。 理解闭包首先要理解, js 垃圾回收机制,也就是当一个函数被执行完后,其作用域会被 收回,如果形成了闭包,执行完后其作用域就不会被收回。 如果某个函数被他的父函数之外的一个变量引用,就会形成闭包。 闭包的作用,就是保存自己私有的变量,通过提供的接口(方法)给外部使用,但外部 不能直接访问该变量。

树的重心 学习笔记

不打扰是莪最后的温柔 提交于 2020-02-12 00:09:07
第一版 关于 树的重心 有配图 有文字讲解 关于 Godfather 有AC代码 文字说明 关于 centroid 本人蒟蒻这晚上只写了55pts(以后会有AC代码的) 手把手教你分析时间复杂度 考场写暴力得省一心得 有了树的重心的性质拓展 树的重心 在树的问题中,会遇到一些题目。时问你树的重心的, 不会就凉了 , 就像CSP-S2019 定义 度娘的定义是这样的 : 找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后,生成的多棵树尽可能平衡。 性质 树中所有点到某个点的距离和中,到重心的距离和是最小的,如果有两个重心,他们的距离和一样。 把两棵树通过一条边相连,新的树的重心在原来两棵树重心的连线上。 一棵树添加或者删除一个节点,树的重心最多只移动一条边的位置。 一棵树最多有两个重心,且相邻。 事实上,有个性质度娘没说,在 centroid 中提到了 Godfather 原题链接 这道题 我们可以用树形dp来解决这个问题令 \(d_i\) 表示你把他转为有根树之后以 \(i\) 为根的子树所包含节点个数 采用邻接表存边,我们能可以十分简单的解决此问题 我们判断一个点是否树的重心的方法是去掉这个点所有子树的最大连通块最小 事实上,这些连通块就是,这个节点上面的部分和以这个点所有儿子为根的子树的最大值 这是AC代码 #include

PAT乙级1002JAVA代码

江枫思渺然 提交于 2020-02-11 23:59:37
pat1002 题目网址 :https://pintia.cn/problem-sets/994805260223102976/problems/994805324509200384: 题目描述 : 写出这个数 : 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式 : 每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10​100​​。 输出格式: 在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。 输入样例: 1234567890987654321123456789 输出样例: yi san wu 解题思路: 1.因为题目给出数值在10的100次方,因此用string来储存 2.给定一个数num,定义其初始值为0 计算num=输入字符串的每一个字符相加的值 4.定义sum返回num的原始值,并给output赋值拼音 计算num=sum的字符逐字相加 5.如果i不等于0,输入“ ”(空格),在输入num对应的拼音(实现每一个数字见得空格,并实现最后一个没有空格) 程序: import java . util . Scanner ; public class Main { public static void main ( String [ ] args ) { /

vue 框架

自闭症网瘾萝莉.ら 提交于 2020-02-11 22:13:11
目录 Vue 框架 主要内容: Vue框架:前台界面,页面逻辑 DRF框架:数据(接口) Luffy项目:前后台分离项目 Vue框架 (1) 定义:javascript 渐近式框架 (2)优势: (3)为什么学习vue: (4)如何使用Vue Vue环境简单搭建:通过script标签导入vue文件即可 el:挂载点 插值表达式 过滤器 以上所学实例成员(实例属性,自我完成小结) 文本指令 事件指令 js函数补充 js函数补充 课堂精细总结: 1、路飞项目所有知识点概况(了解) 2、Vue框架的介绍 3、基础实例成员 4、基础指令 5、js对象补充: Vue 框架 主要内容: Vue框架:前台界面,页面逻辑 (1)指令 (2)实例成员 (3)组件 (4)项目开发 DRF框架:数据(接口) (1)基础的模块:请求、响应、解析、渲染、 (2)序列化、三大特征 (3)过滤、收索、排序、分页 (4)异常、第三方jwt、restful接口规范 Luffy项目:前后台分离项目 (1)项目的登陆认证、课堂商机销售、项目完成 (2)短信、支付宝、服务器、上线、redis、celery、git Vue框架 (1) 定义:javascript 渐近式框架 渐进式:可以控制一个页面的一个标签,也可以控制一系列标签,也可以控制整个页面,甚至可以控制整个前台项目。 (2)优势: 有指令(分支结构,循环结构,.

小写金额转大写金额

余生长醉 提交于 2020-02-11 19:53:59
网上找到的,有小BUG,但写的不错. 亿级数据,尾数为00000的转换会转错,其它还没发现有问题. public static string CmycurD(decimal num) { string str1 = "零壹贰叁肆伍陆柒捌玖"; //0-9所对应的汉字 string str2 = "万仟佰拾亿仟佰拾万仟佰拾元角分"; //数字位所对应的汉字 string str3 = ""; //从原num值中取出的值 string str4 = ""; //数字的字符串形式 string str5 = ""; //人民币大写金额形式 int i; //循环变量 int j; //num的值乘以100的字符串长度 string ch1 = ""; //数字的汉语读法 string ch2 = ""; //数字位的汉字读法 int nzero = 0; //用来计算连续的零值是几个 int temp; //从原num值中取出的值 num = Math.Round(Math.Abs(num), 2); //将num取绝对值并四舍五入取2位小数 str4 = ((long)(num * 100)).ToString(); //将num乘100并转换成字符串形式 j = str4.Length; //找出最高位 if (j > 15) { return "溢出"; } str2 = str2

python 获得质数

纵然是瞬间 提交于 2020-02-11 19:16:41
def is_prime(n): '''检测大于1,除自身外是否可以其他自然数整除''' if n <= 1: return False for i in range(2, n): if n % i == 0: return False return True prime_number = [] def prime(n): for i in range(0, n): if is_prime(i): prime_number.append(i) n=1000 prime(n) num=len(prime_number) for i in range(0,num): print(prime_number[i]) print ("n="+str(n)+",num="+str(num)) 来源: https://www.cnblogs.com/gisoracle/p/12295732.html

ios学习之旅---指针也不难

我们两清 提交于 2020-02-11 12:51:08
1、认识指针 #include <stdio.h> //基本数据类型作为函数參数传递是值传递 //void moveFront(int x ,int y) //{ // x = x + 2; //} void test() { // 确定当前坐标 int x = 20; int y = 150; printf("%p\n",&x); printf("%lu\n",&x); *((int *)(0x7fff5fbff76c)) = 22; printf("(%d,%d)\n",x,y); // moveFront(x, y); // printf("(%d,%d)\n",x,y); } //假设你想訪问指针所指向存储空间,就必须使用訪问指针所指向的存储空间的操作符 void moveFront(int *x ,int *y) { // x = x + 2;//此时是改变指针的指向,而不是訪问指针所指向的存储空间 *x = *x + 2; } int main(int argc, const char * argv[]) { // 确定当前坐标 int x = 20; int y = 150; printf("(%d,%d)\n",x,y); moveFront(&x, &y); printf("(%d,%d)\n",x,y); return 0; } 2、指针的定义与初始化(重点掌握

Codeforces 1227 F2 Wrong Answer on test 233 (Hard Version) —— 组合,想法

送分小仙女□ 提交于 2020-02-11 12:28:35
This way 题意: 给你1个长度为n的目标串,现在你自己有一个长度为n的串,你在每一个位置都可以放1-k中的某一个数,这样子放法就是 k n k^n k n 种。 假设当前你的串与目标串位置一一对应之后相同的地方有a个,把你的串向右循环移位一位之后你的串与目标串位置一一对应之后相同的地方有b个,问你有多少种情况a<b 题解: 首先,我的串第i位只与目标串的第i位与第i+1位有关系,此时可以分为4种状态: 00,01,10,11 0表示不相同,1表示相同。 那么,我们可以发现每个位置,如果是00的话,情况数有k-2种,01和10都是1种。 然后会发现,11这种情况是不需要考虑的,因为无论当a[i]=a[i+1]的时候,无论放什么数都不会有影响。所以我们设连续不相同的位置的数量为num。 之后找有多少情况是答案,我们会发现,假设01和10数量相等的情况是sum种,剩下的情况是 k n − s u m k^n-sum k n − s u m 种,a比b多和b比a多的情况数是一样的,因为第i个位置是01的情况反一下就是10了,所以有 k n − s u m 2 \frac{k^n-sum}{2} 2 k n − s u m ​ 种情况是答案。 所以枚举相同的情况数: c ( n u m , i ) ∗ c ( n u m − i , i ) ∗ q p o w ( k − 2 , n

ios学习之旅---指针也不难

落爺英雄遲暮 提交于 2020-02-11 10:24:41
1、认识指针 #include <stdio.h> //基本数据类型作为函数參数传递是值传递 //void moveFront(int x ,int y) //{ // x = x + 2; //} void test() { // 确定当前坐标 int x = 20; int y = 150; printf("%p\n",&x); printf("%lu\n",&x); *((int *)(0x7fff5fbff76c)) = 22; printf("(%d,%d)\n",x,y); // moveFront(x, y); // printf("(%d,%d)\n",x,y); } //假设你想訪问指针所指向存储空间,就必须使用訪问指针所指向的存储空间的操作符 void moveFront(int *x ,int *y) { // x = x + 2;//此时是改变指针的指向,而不是訪问指针所指向的存储空间 *x = *x + 2; } int main(int argc, const char * argv[]) { // 确定当前坐标 int x = 20; int y = 150; printf("(%d,%d)\n",x,y); moveFront(&x, &y); printf("(%d,%d)\n",x,y); return 0; } 2、指针的定义与初始化(重点掌握

django框架进阶-分页-长期维护

戏子无情 提交于 2020-02-11 07:23:11
################## 分页 ####################### 分页, django有自己内置的分页,但是功能不是很强大,所以自己写一个分页, web页面数据非常多的时候,是必须要有分页的, 分页思路:通过url后面加参数的形式, http://127.0.0.1:8000/book_list/?page=1 页面 展示数据 切片 第一页,1-10 [0-10] #因为切片下标不包含, 第二页,11-20 [10-20] 第三页,21-30 [20-30] ... 第n页, [(n-1)*10:n*10] all_book = models.Book.objects.all()[data_start:date_end] ################## 分页--视图函数 ###################### def book_list(request): page_num=request.GET.get("page") total_count=models.Book.objects.count() from utils.mypage import Page page_obj=Page(page_num,total_count,per_page=10,url_prefix="/book_list/",max_page=11) ret =