num

PAT Advanced 1069 The Black Hole of Numbers (20) [数学问题-简单数学]

此生再无相见时 提交于 2020-02-04 15:17:03
题目 For any 4-digit integer except the ones with all the digits being the same, if we sort the digits in nonincreasing order first, and then in non-decreasing order, a new number can be obtained by taking the second number from the first one. Repeat in this manner we will soon end up at the number 6174 — the “black hole” of 4-digit numbers. This number is named Kaprekar Constant. For example, start from 6767, we’ll get: 7766 – 6677 = 1089 9810 – 0189 = 9621 9621 – 1269 = 8352 8532 – 2358 = 6174 7641 – 1467 = 6174 … … Given any 4-digit number, you are supposed to illustrate the way it gets into

【dart学习】之字典(Map)的相关方法总结

北慕城南 提交于 2020-02-04 14:59:47
一,概述       通常来讲,Map是一个键值对相关的对象,键和值可以是任何类型的对象。每个键只出现一次,而一个值则可以出现多次。映射是动态集合。 换句话说,Maps可以在运行时增长和缩小。 dart:core库中的Map类提供了相同的支持。 二,声明 不指定泛型(普通方式,不指定任何类型,这时testMap中K-V的类型均是dynamic ) //直接赋值 var map1 = {'aa':'aaa','bb':22,'cc':true}; Map map2 = {'a':'a1','b':'b1'}; //间接赋值 var map3 = new Map(); map3['aa'] = 'aaa'; Map map4 = new Map(); map4['a'] = 'aaa'; 指定泛型(下面的例子表示Map的类型为<String,String>,初始化Map时map的类型为<String,String> ,如果类型不匹配或者不兼容就会导致程序crash) //直接赋值 var map1 = <String,String>{'aa':'aaa','bb':'22','cc':'333'}; Map map2 = <String,String>{'a':'a1','b':'b1','c':'c1'}; //间接赋值 var map3 = new Map<String

Python 变量类型及变量赋值

陌路散爱 提交于 2020-02-04 12:59:19
  在 Python 中,变量不一定占用内存变量。变量就像是对某一处内存的引用,可以通过变量访问到其所指向的内存中的值,并且可以让变量指向其他的内存。在 Python 中,变量不需要声明,但是使用变量之前,一定要先对变量进行赋值。当创建了一个新对象时,Python 会向操作系统请求内存,Python 本身实现了内存分配系统。变量类型指的是变量所指向的内存中 对象 的类型。Python 中变量赋值使用 = 等号,等号左面为创建的变量,等号右面为需要的值。 # #创建一个变量名为 a 的变量 # a = 3 # # 创建了一个 a 变量 # # 对 a 变量进行输出 # print("a = ",a) # # a = 3 # print("a 变量存储数据的类型为:",type(a)) # # a 变量存储数据的类型为: <class 'int'> # print("a 变量的地址为:",id(a)) # # a 变量的地址为: 140734656704848 # # 修改 a 的指向 # a = 4 # print("a = ",a) # # a = 4 # print("a 变量存储数据的类型为:",type(a)) # # a 变量存储数据的类型为: <class 'int'> # print("a 变量的地址为:",id(a)) # # a 变量的地址为:

动手学习深度学习 3-1 Linear-regression

流过昼夜 提交于 2020-02-04 12:34:21
Linear-regression 1. 线性回归 线性回归模型尽量写成矩阵形式进行计算。 为什么矩阵计算比循环快很多? 【知乎】因为通常的数学库,矩阵运算都是用BLAS、ATLAS之类的库。这些库中,矩阵运算都是优化过的(也就是说通常不会用两层循环来计算矩阵乘法,具体的计算方法请参考源代码)。 当然,还有更厉害的,就是底层调用CPU级别的运算指令。例如intel的MKL就是一个做高速浮点运算的库,比直接编译C语言还要快(10000x10000维的矩阵分解速度可以从10s级加速到0.1s级)。Windows下的Matlab和自己编译的numpy都可以调用MKL,所以矩阵运算速度快得发指。 2. Linear-regression-scratch 生成数据集 num_inputs = 2 num_examples = 1000 true_w = [2, -3.4] true_b = 4.2 features = nd.random.normal(scale=1, shape=(num_examples, num_inputs)) labels = true_w[0] * features[:, 0] + true_w[1] * features[:, 1] + true_b labels += nd.random.normal(scale=0.01, shape=labels

并查集好题

可紊 提交于 2020-02-04 12:18:07
给你一个n*n的矩阵,每个格子的数代表给格子的海拔,求下一之后的积水是多少。(n<=1000) 思路:思路还是很巧妙的,维护并查集,排序以后从小到大枚举高度,然后看四周有没有之前已经访问过的或者已经flow的,就算是已经漏水的,漏水的话,这个格子也会露水,否则吧当前高度作为父亲,排序的作业是英文漏水只可能从低的地方漏水,不可能从高的地方漏水。 代码: #include<algorithm> #include<iostream> #include<stdio.h> #include<string.h> //using namespace std; const int maxn=1010; int f[maxn*maxn]; int ix[5]= {0,0,1,-1}; int iy[5]= {-1,1,0,0}; int n; inline int get(int v) { return f[v]==v?v:f[v]=get(f[v]); } inline void Merge(int v,int u) { int t1 = get(v); int t2 = get(u); f[t1] = t2; return; } struct node { int x,y; int high,num; bool flow,vi; } N[maxn*maxn]; int MAP[maxn*maxn

[LC] 121. Best Time to Buy and Sell Stock

放肆的年华 提交于 2020-02-04 11:19:55
Say you have an array for which the i th element is the price of a given stock on day i . If you were only permitted to complete at most one transaction (i.e., buy one and sell one share of the stock), design an algorithm to find the maximum profit. Note that you cannot sell a stock before you buy one. Example 1: Input: [7,1,5,3,6,4] Output: 5 Explanation: Buy on day 2 (price = 1) and sell on day 5 (price = 6), profit = 6-1 = 5. Not 7-1 = 6, as selling price needs to be larger than buying price. Example 2: Input: [7,6,4,3,1] Output: 0 Explanation: In this case, no transaction is done, i.e. max

【搜索】$P1092$虫食算

吃可爱长大的小学妹 提交于 2020-02-04 09:52:29
题目链接 首先,我们只考虑加法的虫食算。这里的加法是N进制加法,算式中三个数都有N位,允许有前导的0。 其次,虫子把所有的数都啃光了,我们只知道哪些数字是相同的,我们将相同的数字用相同的字母表示,不同的数字用不同的字母表示。如果这个算式是N进制的,我们就取英文字母表午的前N个大写字母来表示这个算式中的0到N-1这N个不同的数字:但是这N个字母并不一定顺序地代表0到N-1。输入数据保证N个字母分别至少出现一次。输入数据保证有且仅有一组解。 输入格式 包含四行。 第一行有一个正整数 \(N(N \leq 26)\) 。 后面的三行,每行有一个由大写字母组成的字符串,分别代表两个加数以及和。这3个字符串左右两端都没有空格,从高位到低位,并且恰好有N位。 输出格式 一行,即唯一的那组解。 解是这样表示的:输出N个数字,分别表示A,B,C,…所代表的数字,相邻的两个数字用一个空格隔开,不能有多余的空格。 对于30%的数据,保证有 \(N \leq 10\) ; 对于50%的数据,保证有 \(N \leq 15\) ; 对于全部的数据,保证有 \(N \leq 26\) 。 Solution 搜索是比较好想的。但若直接枚举全排列需要n!,那么需要剪枝。 考虑加法,进位的话只会进1,所以如果(A + B) % n != C && (A + B +1) % n != C,显然不合法

leetcode 128 Longest Consecutive Sequence

ぃ、小莉子 提交于 2020-02-04 04:16:48
给定一个数组,找出里面连续的子序列的最长长度。例如: Given [100, 4, 200, 1, 3, 2] , The longest consecutive elements sequence is [1, 2, 3, 4] . Return its length: 4 . 思路一:排序,然后count一下就ok了,但都懒得试了,一点技术含量都没有。 思路二:利用counting sort,但是实现的时候哈哈,果然,数太大,需要的空间太大,failed。 思路三:利用hash,c++11里用unordered_map或者set,然后想采用first和second的方法,如果hash插入后再里面自动排序了,那么用一个迭代器遍历就行了。虽然还是不行。但是起码学会了如何遍历一个hash表。就是用迭代器。 思路四:终于行的通了。还是利用hash将数组映射后,遍历一边给定的数组,对每个数在hash里面找left和right就是多1或者少1,然后记录个数cnt,返回最大的cnt即可。注意的是每次遍历需要对hash表的存在的要删除,这样的话才可能是O(n), 否则会出现n方的,例如:[1,2,3,4]的时候对每个都要找就是n方了,但是如果每次找的时候删除就可以做到O(n)了。 代码如下: class Solution { public: int longestConsecutive

java:取范围内的随机数

。_饼干妹妹 提交于 2020-02-04 03:45:00
取范围内的随机数 关键词 相关说明 源码 运行结果 关键词 Math.random() 这个只是产生0···1之间的随机数,但可以在 0···1的基础上变为其它范围内的随机数。 s_0=num_0+(num_1-num_0)*random() 将0~1范围的随机数用加减乘除法变为其它范围的随机数。 random (随机的) 相关说明 随机数变为其它范围的解释: 我们都已知Math.random()是产生0···1的随机数。我可以在此基础上用乘法和减法把它的范围扩展到指定的范围。比如原本范围是0···1,我们对它乘10,范围就变为0···10,如果再加2,范围就变为2···12。若我们的目标是取一个10···50内的随机数,我们可以对应的定起始位置num_0=10,结束位置num_1=50,新的随机数命名为s_0,则 s_0=num_0+(num_1-num_0)*random() 这样,便可以将随机数0···1的范围变化为num_0···num_1范围了。这时如果Math.random()为0.5,则(num_1-num_0)乘0.5等于20,开始位置为10,随机数为10+20=30。 源码 class Demo { /** *创建一个方法way_0 *产生10~50的随机整数 *起始num_0=10 *结束num_1=50 */ public static int way_0 (

MySQL练习题参考答案

我们两清 提交于 2020-02-04 03:23:12
导出现有数据库数据: mysqldump -u用户名 -p密码 数据库名称 >导出文件路径 # 结构+数据 mysqldump -u用户名 -p密码 -d 数据库名称 >导出文件路径 # 结构 导入现有数据库数据: mysqldump -uroot -p密码 数据库名称 < 文件路径 /* Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Version : 50624 Source Host : localhost Source Database : sqlexam Target Server Type : MySQL Target Server Version : 50624 File Encoding : utf-8 Date: 10/21/2016 06:46:46 AM */ SET NAMES utf8; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for `class` -- ---------------------------- DROP TABLE IF EXISTS `class`; CREATE