last

Power up C++ with the Standard Template Library: Part I[翻译]

隐身守侯 提交于 2020-01-31 12:39:35
Power up C++ with the Standard Template Library: Part I 【原文见: http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=standardTemplateLibrary 】 作者 By DmitryKorolev Topcoder 成员 翻译 农夫三拳@seu Containers Before we begin Vector Pairs Iterators Compiling STL Programs Data manipulation in Vector String Set Map Notice on Map and Set More on algorithms String Streams Summary 也许你已经使用C++作为主要编程语言来解决Topcoder中的问题了,这就意味着你已经在简单的使用 STL了,因为数组和字符串都是以STL对象的方式传入到你的函数中的。也许你已经注意到了,有许多 程序员他们写代码要比你快并且代码也比你的简洁。 也许你不是一个C++程序员,但是因为C++的强大功能以及它的库(或者因为你在Topcoder practice 房间和比赛里面看到的简短的解决方案),你想成为一个这样的程序员。 不管你来自哪里,这篇文章将会帮助你掌握它

JavaScript数组去重方法汇总

亡梦爱人 提交于 2020-01-31 02:10:04
1.运用数组的特性   1.遍历数组,也遍历辅助数组,找出两个数组中是否有相同的项,若有则break,没有的话就push进去。    //第一版本数组去重 function unique(arr){ var res = [], len = arr.length; for(let i = 0;i < len; i++){ var reslen = res.length; for(let j = 0;j < reslen; j++){ //遍历辅助数组 if(arr[i] === res[j]){ break; } } if(j === reslen){ res.push(arr[i]); //没有就添加进去 } } return res; }      2.运用es5的indexOf方法 //第二版本数组去重 es5语法, IE8不能用 function unique(arr){ var len = arr.length, res = []; for( let i = 0; i < len ; i++){ let val = arr[i]; if(res.indexOf(val) === -1){ //找不到返回-1 res.push(arr[i]); } } return res; }      3.如果数组已经排好序 function unique(arr){ var len =

Python学习笔记(七)——排序与搜索

心不动则不痛 提交于 2020-01-30 12:37:03
一、排序 1.冒泡排序 def bubbleSort(theSeq): for i in range(len(theSeq) - 1): for j in range(i + 1, len(theSeq)): if theSeq[i] > theSeq[j]: theSeq[i], theSeq[j] = theSeq[j], theSeq[i] return theSeq 2.选择排序 def selectionSort(theSeq): n = len(theSeq) for i in range(n - 1): smallNdx = i for j in range(i + 1, n): if theSeq[j] < theSeq[smallNdx]: smallNdx = j if smallNdx != i: theSeq[i], theSeq[smallNdx] = theSeq[smallNdx], theSeq[i] return theSeq 3.插入排序 def insertionSort(theSeq): n = len(theSeq) for i in range(1, n): value = theSeq[i] pos = i while pos > 0 and value < theSeq[pos - 1]: theSeq[pos] = theSeq

6-2 顺序表操作集

混江龙づ霸主 提交于 2020-01-30 02:02:27
本题要求实现顺序表的操作集。 函数接口定义: List MakeEmpty ( ) ; Position Find ( List L , ElementType X ) ; bool Insert ( List L , ElementType X , Position P ) ; bool Delete ( List L , Position P ) ; 其中List结构定义如下: typedef int Position ; typedef struct LNode * List ; struct LNode { ElementType Data [ MAXSIZE ] ; Position Last ; /* 保存线性表中最后一个元素的位置 */ } ; 各个操作函数的定义为: List MakeEmpty ( ) :创建并返回一个空的线性表; Position Find ( List L , ElementType X ) :返回线性表中X的位置。若找不到则返回ERROR; bool Insert ( List L , ElementType X , Position P ) :将X插入在位置P并返回true。若空间已满,则打印“FULL”并返回false;如果参数P指向非法位置,则打印“ILLEGAL POSITION”并返回false; bool Delete (

算法复习

感情迁移 提交于 2020-01-29 18:05:22
优先队列 q.push(k);//在q的末尾插入k q.pop();//删掉q的第一个元素 q.top();//返回q的第一个元素 sort 默认从小到大排序 bool cmp(node a,node b) //函数名任意取,该函数为bool形 { if(a.y==b.y) //如果两个结构体的y相同,按它们的x值从小到大排列 return a.x<b.x; else return a.y<b.y; // 反之按y从小到大排列 } 我习惯保存数组使用下标1—n 此时应为sort(a+1,a+n+1,cmp) struct struct Student //不需加typedef     {     int a;     };         于是就定义了结构体类型Student,声明变量时直接Student stu2; 递推 快速模幂a^b%m int ans = 1, base = a while(b > 0) { if(b & 1) { ans *= base; ans %= m; } base *= base; base %= m; b >>= 1; } 分治 #include<iostream> #include<vector> long long num_of_pairs = 0; using namespace std; int main() { void

Jmeter 时间函数工具汇总

丶灬走出姿态 提交于 2020-01-29 12:25:58
在使用Jmeter过程中,常使用的函数汇总 __time : 获取时间戳、格式化时间   ${__time(yyyy-MM-dd HH:mm:ss:SSS,time)} :格式化生成时间格式 2018-06-01 11:08:23:635   ${__time(,)}:默认该公式精确到毫秒级别, 13位数 1527822855323   ${__time(/1000,)}:该公式精确到秒级别, 10位数 1527822871 __TimeShift(格式,日期,移位,语言环境,变量):可对日期进行移位加减操作     格式 - 将显示创建日期的格式。如果该值未被传递,则以毫秒为单位创建日期。   日期 - 这是日期值。用于如果要通过添加或减去特定天数,小时或分钟来创建特定日期的情况。如果参数值未通过,则使用当前日期。   移位 - 表示要从日期参数的值中添加或减去多少天,几小时或几分钟。如果该值未被传递,则不会将任何值减去或添加到日期参数的值中。     “P1DT2H4M5S” 解析为“添加1天2小时4分钟5秒”     “P-6H3M”解析为“-6小时+3分钟”     “-P6H3M”解析为“-6小时-3分钟”     “-P-6H + 3M”解析为“+6小时和-3分钟”   区域设置 - 设置创建日期的显示语言。不是必填项   变量 - 创建日期的值将被分配给的变量的名称

nginx配置url重写

孤人 提交于 2020-01-29 06:41:27
url重写是指通过配置conf文件,以让网站的url中达到某种状态时则定向/跳转到某个规则,比如常见的伪静态、301重定向、浏览器定向等 rewrite 语法 在配置文件的server块中写,如: server { rewrite 规则 定向路径 重写类型 ; } 规则:可以是字符串或者正则来表示想匹配的目标url 定向路径:表示匹配到规则后要定向的路径,如果规则里有正则,则可以使用$index来表示正则里的捕获分组 重写类型: last :相当于Apache里德(L)标记,表示完成rewrite,浏览器地址栏URL地址不变 break;本条规则匹配完成后,终止匹配,不再匹配后面的规则,浏览器地址栏URL地址不变 redirect:返回302临时重定向,浏览器地址会显示跳转后的URL地址 permanent:返回301永久重定向,浏览器地址栏会显示跳转后的URL地址 简单例子 server { # 访问 /last.html 的时候,页面内容重写到 /index.html 中 rewrite /last.html /index.html last ; # 访问 /break.html 的时候,页面内容重写到 /index.html 中,并停止后续的匹配 rewrite /break.html /index.html break ; # 访问 /redirect.html 的时候

PHP获取指定日期的月份月初日期和月末日期

爱⌒轻易说出口 提交于 2020-01-29 01:09:02
PHP获取指定日期的月份月初日期和月末日期 // 获取指定日期的月初与月末日期 protected function GetTheMonth($date){ $firstday = date("Y-m-01",strtotime($date)); //月初 $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day")); //月末 $last_month_firstday = date("Y-m-01",strtotime("$date -1 month ")); //上月初 $last_month_lastday = date("Y-m-d",strtotime("$last_month_firstday +1 month -1 day")); //上月末 return array('firstday'=>$firstday,'lastday'=>$lastday,'last_month_firstday'=>$last_month_firstday,'last_month_lastday'=>$last_month_lastday); } 来源: CSDN 作者: 衣裙飞舞 链接: https://blog.csdn.net/xzmj_/article/details/103970872

hdu1066 Last non-zero Digit in N!(求阶乘最后一位不为0的数字)

被刻印的时光 ゝ 提交于 2020-01-28 20:05:09
http://acm.hdu.edu.cn/showproblem.php?pid=1066 转自: https://blog.csdn.net/fengyu0556/article/details/5615129 hdu1066改进的思路和对于大数的处理:(转) 为了把0去掉,我们把所有的因数2和5都提出来,放到最后再处理。N!中的N个相乘的数可以分成两堆:奇数和偶数。偶数相乘可以写成(2^M)*(M!),M=N DIV 2。M!可以递归处理,因此现在只需讨论奇数相乘。考虑1*3*5*7*9*11*13*15*17*...*N(如果N为偶数则是N-1),这里面是5的倍数的有5,15,25,35,...,可以其中的5提出来,变成(5^P)*(1*3*5*7*9* ...),后面括号中共P项,P=(N DIV 5+1) DIV 2,而后面的括号又可以继续提5出来,递归处理.现在剩下的数是1*3*7*9*11*13*17*19*....这些数我们只需要他们的个位数,因为(1*3*9*11*13* ...)MOD 10=(1*3*7*9*11*13*...)MOD 10.我们列出余数表,1 3 1 9 9 7 9 1 1 3 1 9 9 7 9 ……。我们发现每八项MOD 10的结果是一个循环.算出奇数的结果后,我们再回头看统计了多少个2和5需要乘入。把2和5配对完都是N!后面的0

python面试题六: 剑指offer

回眸只為那壹抹淺笑 提交于 2020-01-28 19:46:46
面试题3 二维数组中的查找 LeetCode 题目:二维数组中,每行从左到右递增,每列从上到下递增,给出一个数,判断它是否在数组中 思路:从左下角或者右上角开始比较 def find_integer(matrix, num): """ :param matrix: [[]] :param num: int :return: bool """ if not matrix: return False rows, cols = len(matrix), len(matrix[0]) row, col = rows - 1, 0 while row >= 0 and col <= cols - 1: if matrix[row][col] == num: return True elif matrix[row][col] > num: row -= 1 else: col += 1 return False 面试题4 替换空格 题目:把字符串中的空格替换成'20%' 方法1:直接使用Python字符串的内置函数 ' a b '.replace(' ', '20%') 面试题5 从尾到头打印单链表 方法1:使用栈,可以使用列表模拟 def print_links(links): stack = [] while links: stack.append(links.val) links =