tmp

【ES6】let 命令

天大地大妈咪最大 提交于 2020-01-29 21:08:57
let命令 为es6新增命令, 用来声明变量 ,类似于 var ,但是 let 所声明的变量,只在 let 命令所在的 块级作用域 内有效 块级作用域写法( ES6块级作用域允许任意嵌套 ): // 块级作用域写法 { let tmp = ...; ... } 块级作用域 例1 for (let i = 0; i < 10; i++) { // ... } console.log(i);//ReferenceError: i is not defined 解析:上面代码中, i 的 作用域 是 for 循环体内,在循环体外引用就会报错。 块级作用域 例2 function f1() { let n = 5; if (true) { let n = 10; } return n }console.log(f1())//5 解析:栗子说明, 外层代码块不受内层代码块的影响。 --------------------------------------------------------------------------------------------------------------------------------- let与var的区别 1.var 没有块级作用域,let有块级作用域 var实例 var a = []; for (var i = 0; i < 10; i+

Centos服务器上安装Tomcat

[亡魂溺海] 提交于 2020-01-29 01:33:32
1、下载tomcat centos下的安装文件 apache-tomcat-8.5.50.tar.gz 2、centos系统中进入到/tmp/soft目录下,将apache-tomcat-8.5.50.tar.gz文件上传到/tmp/soft目录下 3、解压apache-tomcat-8.5.50.tar.gz文件 tar -zxvf apache-tomcat-8.5.50.tar.gz 4、进入到/tmp/soft/apache-tomcat-8.5.50/conf目录下,修改server.xml文件修改端口号为9001 5、进入到/tmp/soft/apache-tomcat-8.5.50/bin目录下,执行./startup.sh启动tomcat服务器 ./startup.sh 6、在浏览器中输入xxx.xxx.xxx.xxx:9001,看到如下图,说明tomcat启动成功(xxx.xxx.xxx.xxx为服务器ip),如果你的服务器是阿里云或京东云,需要设置云服务器上的安全组,开放9001端口(我这里用的是京东云),如果你要部署应用程序war包到tomcat,则将war包copy到/tmp/soft/apache-tomcat-8.5.50/webapps下 来源: CSDN 作者: 蔚蓝色天空sky 链接: https://blog.csdn.net/ytangdigl

lintcode 57. 三数之和

对着背影说爱祢 提交于 2020-01-29 01:29:21
给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组。 样例 例 1 : 输入 : [ 2 , 7 , 11 , 15 ] 输出 : [ ] 例 2 : 输入 : [ - 1 , 0 , 1 , 2 , - 1 , - 4 ] 输出 : [ [ - 1 , 0 , 1 ] , [ - 1 , - 1 , 2 ] ] 注意事项 在三元组 ( a , b , c ) ,要求a <= b <= c。 结果不能包含重复的三元组。 思路:先排序,挑选三个数相加判断是否为0,若为0,利用set容器进行去重,加入结果即可 class Solution { public : /** * @param numbers: Give an array numbers of n integer * @return: Find all unique triplets in the array which gives the sum of zero. */ vector < vector < int >> threeSum ( vector < int > & numbers ) { vector < vector < int >> result ; sort ( numbers . begin ( ) , numbers . end ( ) ) ;

codeforces A. Strange Addition 解题报告

老子叫甜甜 提交于 2020-01-27 08:05:02
题目链接:http://codeforces.com/problemset/problem/305/A 题目意思:给出一个序列,需要从中选择一些数,这些数需要满足:任意的两个数中每一位至少有一个数满足该位有0。例如,406, 10(可以看成010)是符合条件的; 406, 11 就不符合条件,因为个位上这两个数都不包含0。 一开始想得太过复杂:把整型的数保存到字符数组中,再用strstr函数找出是否有0的存在,但是这样做根本不能解决问题,因为不能得出0的具体位置。并且不能判断出两个数中的不同位至少有一个有0这个问题;后来甚至想到用位运算,看了下tutorial,原来又把问题想复杂了。 其实,解决的方法不难。首先看数据范围,最大是100,最小是0。这两个数肯定是要保存下来的,因为它和任何一个在区间(0, 100)中的数相加都符合每一位至少有一个数有0。接着考虑个位上的数,即(0,10),只需要保存一个,还有[10, 100)中被10整除的数,也是只需要保存一个。举个例子,比如8,30, 100, 0,两两组合都符合至少两个数中满足某一位是0的(不够位的,可以在前面添0,8可以看成008或者08)。至于[10, 100)中不能被10整除的数有一种情况也是需要只保存一个的,就是当序列中只有0或100或两个同时都有。 特别要注意一个比较容易遗忘的细节,很阴险的说~~

lintcode1006. 子域名访问计数

二次信任 提交于 2020-01-27 08:00:57
诸如discuss.lintcode.com这样的域名由各种子域名构成。最顶层是com,下一层是lintcode.com,最底层是discuss.lintcode.com.当访问discuss.lintcode.com时,会隐式访问子域名lintcode.com和com. 现给出域名的访问计数格式为“空格 地址”。 示例:9001 discuss.lintcode.com. 给出计数列表cpdomains. 返回每个子域名(包含父域名)的访问次数(与输入格式相同,顺序任意). 样例 样例 1 : 输入: [ "9001 discuss.lintcode.com" ] 输出: [ "9001 discuss.lintcode.com" , "9001 lintcode.com" , "9001 com" ] 解释: 只有一个域名: "discuss.lintcode.com" . 如题所述, 子域名 "lintcode.com" 和 "com" 也会被访问 . 所以一共要访问 9001 次 . 样例 2 : 输入: [ "900 google.mail.com" , "50 yahoo.com" , "1 intel.mail.com" , "5 wiki.org" ] 输出: [ "901 mail.com" , "50 yahoo.com" , "900 google.mail

将stl文件中vertex顶点由顺时针(clockwise)排列改为逆时针(counterclockwise)

ⅰ亾dé卋堺 提交于 2020-01-27 02:14:21
最近需要读取 solidWork 软件生成的复杂几何体(stl格式),用于识别一系列点位于复杂几何体内部还是外部,发现识别函数需要stl文件符合 右手规则 ,即点的排布要逆时针顺序,而且法线方向朝外,但是solidWork生成的文件不符合这个特征,所以写了一个 c++ 的小程序,用来实现该过程,具体内容如下: 1. stl文件格式: facet normal - 0.996195 0.0871562 - 0 outer loop vertex - 7.500000e-002 - 1.836970e-017 2.220404e+000 //p1 vertex - 7.500000e-002 - 1.836970e-017 9.964039e-001 //p2 vertex - 7.386058e-002 1.302361e-002 2.220404e+000 //p3 endloop endfacet 上述代码块即为stl文件的格式,主要由面法向量,以及3个点构成,3个点连线顺序不符合 右手规则 ,我们可以调 p2,p3 的顺序,并重新求解facet normal即可,求解方法可以参考该 链接 2. 具体实现 1.对原有stl文件进行分割: # include <vector> # include <math.h> # include <iostream> # include

给类排序复杂度比较和冒泡排序与选择排序

血红的双手。 提交于 2020-01-26 17:56:09
各个排序的比较 冒泡排序 export default (arr) => { // 冒泡排序 for (let i = arr.length - 1, tmp; i > 0; i--) { for (let j = 0; j < i; j++) { tmp = arr[j] if (tmp > arr[j + 1]) { arr[j] = arr[j + 1] arr[j + 1] = tmp } } } return arr } 选择排序 export default (arr) => { // 选择排序 for (let i = 0, len = arr.length, min; i < len; i++) { min = arr[i] for (let j = i + 1; j < len; j++) { if (arr[j] < min) { let c = min min = arr[j] arr[j] = c } } arr[i] = min } return arr } 来源: https://www.cnblogs.com/ygjzs/p/12234405.html

最大间距

做~自己de王妃 提交于 2020-01-26 17:55:48
第一种(比较差) export default (arr) => { // 如果数组长度小于2返回0 if (arr.length < 2) { return 0 } // 排序 arr.sort() // 用它来保存相邻元素的最大差值 let max = 0 for (let i = 0, len = arr.length - 1, tmp; i < len; i++) { tmp = arr[i + 1] - arr[i] if (tmp > max) { max = tmp } } return max } 第二种(利用冒泡排序) export default (arr) => { if (arr.length < 2) { return 0 } let max = 0 let len = arr.length - 1 let space for (let i = len, tmp; i > 0; i--) { for (let j = 0; j < i; j++) { tmp = arr[j] if (tmp > arr[j + 1]) { arr[j] = arr[j + 1] arr[j + 1] = tmp } } if (i < len) { space = arr[i + 1] - arr[i] if (space > max) { max = space } }

开发实用linux命令

断了今生、忘了曾经 提交于 2020-01-26 17:20:29
前言 今天是大年初二,今年新型冠状病毒肆虐,在家宅了3天了,实在无聊,索性总结下知识。今天来梳理下实用的linux命令,注意是实用!非常实用!这些命令是我处理线上问题经常用到的。 实用的linux命令 日志查询 cat tmp . log cat filename 查询整个文件,但是有时候线上日志文件会很大,这样打开整个文件会很耗时而且无法精准定位到想要的日志信息。比如你想看下项目启动时的日志,可以使用以下命令 cat tmp . log | head - 200 // 查询文件的前200行 tail - 200 tmp . log // 查询文件的最后200行 大部分时间我们看日志追踪问题都会有一些关键字信息,这个时候我们就可以根据关键字过滤查询日志了 cat tmp . log | grep "API请求参数" 当过滤后的日志信息太多时可以使用以下命令查看最前面200行日志 cat tmp . log | grep "API请求参数" | head - 200 当想要查看关键字日志上下文时,可以使用以下命令 cat tmp . log | grep "API请求参数" - C 10 | head - 200 当想要查看后续新产生的日志,可以使用以下命令(适用复现问题) tail - f tmp . log 当想要查询某行日志输出的总条数,可以使用以下命令(例如统计网关请求的次数

卡牌分组

烈酒焚心 提交于 2020-01-26 13:06:39
满足最小分组的长度为其他分组的整数倍 export default (arr) => { // 对这副牌进行排序,升序、降序都可以 arr.sort((a, b) => a - b) let min = Number.MAX_SAFE_INTEGER let dst = [] let result = true for (let i = 0, len = arr.length, tmp = []; i < len; i++) { tmp.push(arr[i]) for (let j = i + 1; j < len - 1; j++) { if (arr[i] === arr[j]) { tmp.push(arr[j]) } else { if (min > tmp.length) { min = tmp.length } // 因为数组为引用类型,直接push会导致出错 dst.push([].concat(tmp)) tmp.length = 0 i = j break } } } dst.every(item => { if (item.length % min !== 0) { result = false return false } }) return result } 来源: https://www.cnblogs.com/ygjzs/p/12234070.html