num

C++ static

老子叫甜甜 提交于 2020-03-12 13:40:52
【面试题2-10】static 有什么作用 (1)在函数体内,一个被声明为静态的变量在这一函数被调用的过程中维持其值不变 (2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所有函数访问,但不能被模块外其他函数访问 (3)在模块内,一个被声明为静态的函数只可被这一模块内的其他函数调用。 【面试题2-11】static 变量与普通变量的区别 (1)static 全局变量与普通的全局变量 相同点:static全局变量和普通的全局变量都是静态存储方式。 不同点:非静态变量的作用域是整个源程序,当一个源程序有多个源文件组成时,非静态的全局变量在各个源文件都是有效的 静态变量的作用域是声明它所在的源文件,其他源文件不能使用它。 (2)static 局部变量只被初始化一次,下一次依据上一次结果值 (3)static 函数在内存中只有一份,普通函数在每个被调用中维持一份复制品。 static 函数作用域仅在本文件,只在当前源文件中使用的函数应该说明为内部函数(static), 他们应该在当前源文件总说明和定义。 对于可在当前源文件外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件。 【面试题2-12】写出以下程序输出 1 #include <iostream> 2 using namespace std; 3 4 class widget{ 5

HDU 1270(小希的数表)

為{幸葍}努か 提交于 2020-03-12 12:41:33
排序后 num[1]+num[2] 一定是和序列中最小的,num[1]+num[3] 一定是次小的,即 sum[1]==num[1]+num[2],sum[2]==num[1]+num[3],但是 num[2]+num[3] 的值不确定,因此需要枚举 num[2]+num[3] 的和。 求出 num[1]、num[2]、num[3] 之后,将 num[1]+num[2],num[1]+num[3],num[2]+num[3] 从和数组中排除。然后和数组中剩下的第一个没有被排除的数一定是 num[1]+num[4] 的和,求出num[4]。 然后将 num[1]+num[4],num[2]+num[4],num[3]+num[4] 从和数组中排除(如果某个和已经被排除,说明此枚举不成立,枚举下一个 num[2]+num[3])。依次求出 num[5] ... num[n],最后输出 num[1] ~ num[n]。 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int MAXN = 105; const int MAXS = MAXN * MAXN / 2; int num[MAXN]; //原数字 int sum[MAXS]; //和 int vis

1、实体类中的实体类

早过忘川 提交于 2020-03-12 12:23:19
实体类: TeacherBean: public class TeacherBean { private String name; private String project; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getProject() { return project; } public void setProject(String project) { this.project = project; } @Override public String toString() { return "TeacherBean [name=" + name + ", project=" + project + "]"; } } StudentBean: public class StudentBean { private String name; private String num; private TeacherBean teacher; public String getName() { return name; } public void setName(String name) { this

实验03-python的组合数据类型

ⅰ亾dé卋堺 提交于 2020-03-12 08:58:11
1004 成绩排名 问题描述: 读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入说明: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行:第 1 个学生的姓名 学号 成绩 第 3 行:第 2 个学生的姓名 学号 成绩 … … … 第 n+1 行:第 n 个学生的姓名 学号 成绩 其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。 输出说明: 对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。 输入样列: 3 Joe Math990112 89 Mike CS991301 100 Mary EE990830 95 输出样列: Mike CS991301 Joe Math990112 代码: a = int ( input ( ) ) mx = - 0xffffffff mn = 0xffffffff for i in range ( a ) : lt = input ( ) . split ( ) if int ( lt [ 2 ] ) > mx : mxans = lt mx = int ( lt [ 2 ] ) if int ( lt [ 2 ]

二、Groovy语法(二):闭包

久未见 提交于 2020-03-12 08:56:50
1、Groovy中闭包基础 1.1 闭包的概念 闭包是被包装成 对象 的代码块,可以通过一个变量引用到它,页可以传递给别人进行处理(像处理一个对象一样处理闭包,比如作为参数传递、作为一个方法的返回值等) 1.2 闭包的定义和调用 //定义一个闭包(闭包是一些代码组成的代码块对象,用{}括起来的一段代码) def closure = { println 'Hello groovy!'} //调用(类似定义了一个方法,然后可以去调用这个方法,可与方法对比着来理解闭包) closure.call() //Hello groovy! closure() //Hello groovy! 1.3闭包参数(普通参数和隐式参数) //定义一个有参数的闭包 利用->区分参数和具体执行代码 def closure = { String name -> println "Hello $name!"} //调用 closure('groovy') //Hello groovy! //多个参数由逗号隔开 def closure2 = { String name,int age -> println "Hello $name! My age is $age"} //调用 closure2('groovy',6) //Hello groovy! My age is 6 //当没有声明参数时

十、Python 命名空间和作用域

大城市里の小女人 提交于 2020-03-12 08:37:05
1、命名空间 I) 定义: 1)命名空间(Namespace)是从名称到对象的映射,大部分的命名空间都是通过 Python 字典来实现的。 2)命名空间提供了在项目中避免名字冲突的一种方法。 3)各个命名空间是独立的,没有任何关系的,所以一个命名空间中不能有重名,但不同的命名空间是可以重名而没有任何影响。 例如: 我们举一个计算机系统中的例子,一个文件夹(目录)中可以包含多个文件夹, 每个文件夹中不能有相同的文件名,但不同文件夹中的文件可以重名 II)三种命名空间格式: 一般有三种命名空间: 内置名称(built-in names) : Python 语言内置的名称,比如函数名 abs、char 和异常名称 BaseException、Exception 等等。 全局名称(global names) : 模块中定义的名称,记录了模块的变量,包括函数、类、其它导入的模块、模块级的变量和常量。 局部名称(local names) : 函数中定义的名称,记录了函数的变量,包括函数的参数和局部定义的变量。(类中定义的也是) III) 命名空间查找顺序 Python 的查找顺序为:局部的命名空间去 -> 全局命名空间 -> 内置命名空间 如果找不到变量 a,它将放弃查找并引发一个 NameError 异常 IV) 命名空间的生命周期: 命名空间的生命周期取决于对象的作用域,如果对象执行完成

1025 PAT Ranking (25分)

天涯浪子 提交于 2020-03-12 07:55:32
1025 PAT Ranking (25分) Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhejiang University. Each test is supposed to run simultaneously in several places, and the ranklists will be merged immediately after the test. Now it is your job to write a program to correctly merge all the ranklists and generate the final rank. Input Specification: Each input file contains one test case. For each case, the first line contains a positive number N (≤100), the number of test locations. Then N ranklists follow, each starts with a line containing a positive

多线程-生产者消费者(synchronized同步)

我的未来我决定 提交于 2020-03-12 04:58:46
正解博客:https://blog.csdn.net/u011863767/article/details/59731447 永远在循环(loop)里调用 wait 和 notify,不是在 If 语句 现在你知道wait应该永远在被synchronized的背景下和那个被多线程共享的对象上调用,下一个一定要记住的问题就是,你应该永远在while循环,而不是if语句中调用wait。因为线程是在某些条件下等待的——在我们的例子里,即“如果缓冲区队列是满的话,那么生产者线程应该等待”,你可能直觉就会写一个if语句。但if语句存在一些微妙的小问题,导致即使条件没被满足,你的线程你也有可能被错误地唤醒。所以如果你不在线程被唤醒后再次使用while循环检查唤醒条件是否被满足,你的程序就有可能会出错——例如在缓冲区为满的时候生产者继续生成数据,或者缓冲区为空的时候消费者开始小号数据。所以记住, 永远在while循环而不是if语句中使用wait!我会推荐阅读《 Effective Java 》,这是关于如何正确使用wait和notify的最好的参考资料。 有的这样说:(http://www.tuicool.com/articles/a6ram23) 因为在多核处理器环境中, Signal 唤醒操作可能会激活多于一个线程(阻塞在条件变量上的线程),使得多个调用等待的线程返回

javascript中的递归函数

柔情痞子 提交于 2020-03-12 04:15:20
正常的递归函数如下: 1 function factorial(num){ 2 if(num <= 1){ 3 return 1; 4 }else{ 5 return num * factorial(num-1); 6 } 7 } 这个函数表面看起来还ok,但如果我们执行下面代码就会出错。 1 var jenny = factorial; 2 factorial = null; 3 alert(jenny(4)); // 出错 代码分析: 变量jenny中保存factorial函数的引用,而变量factorial被设置为null, 在调用jenny时,factorial已不再指向函数的引用,所以会出错。 此时我们可改用arguments.callee可以解决此问题。 function factorial(num){ if(num <= 1){ return 1; }else{ return num * arguments.callee(num-1); } } arguments.callee:是一个指向正在执行的函数的指针。 注:在编写递归函数时,使用arguments.callee比直接使用函数名保险,但在严格模式下,使用arguments.callee会导致错误。 所以我们可以使用命名函数表达式来实现相同的效果。 1 var factorial = (function f

peewee.InternalError: (1071, 'Specified key was too long; max key length is 1000 bytes')

两盒软妹~` 提交于 2020-03-11 20:07:15
原因 :使用peewee创建表时,有类似于这样的语句: field_name = CharField(primary_key=True) (也就是把char类型的字段设置成了主键。) 解释 :utf8mb4 编码下 1 char = 4 bytes。而varchar默认长度为255(255*4 = 1020),超过报错显示的最大长度 1000 bytes。 解决 :设置CharField的最大长度参数: max_length=num (num <= 250) 参考 : Python peewee.CharField() Examples 来源: https://www.cnblogs.com/sfriend/p/12462842.html