本文链接:https://blog.csdn.net/shiliang97/article/details/101155502 2-9 彩虹瓶 (20 分) ?
本篇博文意在对前几章中遗漏的,本人觉得有意思的习题当独拿出来练练手。 1、习题2-4,求逆序对,时间复杂度要求Θ(nlgn) 定义:对于一个有n个不同的数组A, 当i<j时,存在A[i]>A[j],则称对偶(i, j)为A的一个逆序对。 譬如:<2,3,8,6,1>有5个逆序对。 解题思路:归并排序的思想:逆序对的数量=左区间的逆序对+右区间的逆序对+合并的逆序对 代码如下: 1 #include <iostream> 2 #include <vector> 3 using namespace std
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
代码清单2-9 ULONGLONG Count1InAInteger(ULONGLONG n) { ULONGLONG iNum = 0; while(n !
python有一个强大的模块,叫做matplotlib,但是,和matlab比,似乎还是弱了些,因为目测无法绘制隐函数!而matlab有ezplot。 (x²+y²-1)³-x²2y³=0 看起来很简单的样子,变成python的表达式就是: (x**2+y**2-1)**3-x**2*2*y**3 显然这是一个隐函数,我们只能用sympy这个模块来绘制 如果我们修改一下参数, (x**2+y**2-9)**3-x**2*9*y**3 就是这样的效果 ? 然后有是比较瘦小的心 ((2*x)**2+y**2-9)**3-(2*x)**2*10*y**3 ? 还有瘦到不能看的心: ((7*x)**2+y**2-9)**3-(7*x)**2*10*y**3 ?
Java在处理一些复杂的字符串操作时,往往不是通过String中函数实现的,而是通过Java中正则表达式实现的。 2)([-\\/\\._])(29)$)|(^([2-9][0-9][0][48])([-\\/\\._])(0? 2)([-\\/\\._])(29)$)|(^([2-9][0-9][2468][048])([-\\/\\._])(0? 2)([-\\/\\._])(29)$)|(^([2-9][0-9][13579][26])([-\\/\\._])(0? 2)([-\\/\\._])(29)$)|(^([2-9][0-9][0][48])([-\\/\\._])(0?
){ return false; } return true; } 1.2、校验是否为纯数字 /* * 校验是否为纯数字 * js的isNaN函数 [1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(-)(11|0?[469])(-)(30|[12][0-9]|0? 2)(-)(29)$)|(^([2-9][0-9][0][48])(-)(0?2)(-)(29)$)|(^([1][89][2468][048])(-)(0? 2)(-)(29)$)|(^([2-9][0-9][2468][048])(-)(0?2)(-)(29)$)|(^([1][89][13579][26])(-)(0? 2)(-)(29)$)|(^([2-9][0-9][13579][26])(-)(0?
2021-09-16:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
(d{1,2}|1dd|2[0-4]d|25[0-5])$" YYYY-MM-DD基本上把闰年和2月等的情况都考虑进去了 ^((((1[6-9]|[2-9]\d)\d{2})-(0? [1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0? [1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0? [1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)) 匹配空行的正则表达式:\n[\s| ]*\r 匹配HTML标记的正则表达式:/<(.)>.<\/\1>|<(.*) \/>/ 匹配首尾空格的正则表达式:(^\s)|(\s$)(像vbscript那样的trim函数
(d{1,2}|1dd|2[0-4]d|25[0-5])$" YYYY-MM-DD基本上把闰年和2月等的情况都考虑进去了 ^((((1[6-9]|[2-9]\d)\d{2})-(0? [1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0? [1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0? [1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)) 匹配空行的正则表达式:\n[\s| ]*\r 匹配HTML标记的正则表达式:/<(.)>.<\/\1>|<(.*) \/>/ 匹配首尾空格的正则表达式:(^\s)|(\s$)(像vbscript那样的trim函数
[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0? [1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0? n[\s| ]*\r 匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/ 匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数 String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;} 5.javascript中没有像vbscript那样的trim函数 } } 不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下: var ip="10.100.20.168" ip=ip.split(".")
2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0? 2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0? 2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0? 2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0? 2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?
[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0? [1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0? 2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0? 2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0? 2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?
[1-9]|[12]/d|3[01]))|(((1[6-9]|[2-9]/d)/d{2})-(0?[13456789]|1[012])-(0? [1-9]|[12]/d|30))|(((1[6-9]|[2-9]/d)/d{2})-0?2-(0? 匹配空行的正则表达式:/n[/s| ]*/r 匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/ 匹配首尾空格的正则表达式:(^/s*)|(/s*$)(像vbscript那样的trim函数 String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa").length;} 5.javascript中没有像vbscript那样的trim函数 } } 不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下: var ip="10.100.20.168" ip=ip.split(".")
练习2-9 整数四则运算 本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。 输入格式: 输入在一行中给出2个正整数A和B。
[2-9]\d{ 2}[2-9](?!11)\d{ 6}$/, 'cs-CZ': /^(\+?420)? ?[1-9][0-9]{ 2} ? [2-9]{ 1}\d{ 3,4}\-?\d{ 4}$/, 'pt-PT': /^(\+?351)? ((1(2([0-9])|6([2-9])|88|99))|(9((?!5)[0-9])))([0-9]{ 7})$/, 'zh-CN': /^(\+?0?86\-?)?
5 $0.55 7 Onions 5 $0.45 然后,您想在价格大于 2 美元的食品上标明 (*) 符号,可以通过运行以下命令来完成: awk '/ *$[2- 在此示例中,我们使用了两种模式: 第一个: / *$[2-9].[0-9][0-9] */ 获取食品价格大于 2 美元的行 第二个: /$[0-1].[0-9][0-9] */ 查找食品价格低于 2 美元的行 可以通过两种方式解决它: 使用 printf 命令,这是一种漫长而无聊的方法,使用以下命令: $ awk '/ *$[2-9]\.[0-9][0-9] */ { printf "%-10s %-10s 这对于解决上述问题很方便,而且简单快捷,如下所示: $ awk '/ *$[2-9]\.[0-9][0-9] */ { print $0 "*" ; } / *$[0-1]\.[0-9][0-9] */
文章目录 一、apply 标准库函数 二、let 标准库函数 三、run 标准库函数 1、run 函数传入 Lambda 表达式作为参数 2、run 函数传入函数引用作为参数 四、with 标准库函数 五、also 标准库函数 六、takeIf 标准库函数 七、takeUnless 标准库函数 Kotlin 语言中 , 在 Standard.kt 源码中 , 为所有类型定义了一批标准库函数 , 所有的 Kotlin 类型都可以调用这些函数 ; 一、apply 标准库函数 ---- Kotlin 标准库函数 中的 apply 函数 , 该函数可以看作 实例对象 的 配置函数 , 传入 T.() -> apply 函数与 let 函数的区别 : apply 函数的 返回值是 调用者 ; let 函数的 返回值是 Lambda 表达式的最后一行 ; let 函数原型 : /** * 调用以' this , 在 let 函数中 , 将首字母变为大写 , 并返回 , let 函数返回的是 匿名函数 的最后一行 , 因此将 “Tom” 字符串 返回了 ; 如果将 let 函数换成 apply 函数 ,
strcpy函数: char *strcpy(char *Dest , const char *Src) { assert((Dest != NULL) && (Src ! = '\0') NULL; return address; } strncpy函数: 利用标准库函数strncpy(),可以将一字符串的一部分拷贝到另一个字符串中 strncpy()函数有3个参数:第一个参数是目录字符串;第二个参数是源字符串;第三个参数是一个整数,代表要从源字符串拷贝到目标字符串中的字符数。 : strcmp函数是C/C++中基本的函数,它对两个字符串进行比较,然后返回比较结果,函数形式如下: int strcmp(constchar*str1,constchar*str2); 无论两个字符串是什么样,strcmp函数最多比较到其中一个字符串遇到结束符'/0'为止,就能得出结果。
函数的类型由函数的参数类型和返回类型组成 func add(_ a:Int, _ b:Int) -> Int { return a + b } 这个函数的类型是(Int, Int) -> Int ,返回Void类型的函数” 函数类型的使用 定义一个类型为函数的常量或变量,并将适当的函数赋值给它 func add(_ a:Int, _ b:Int) -> Int { return a + 函数类型作为返回值 定义了两个简单函数,分别是 sayHI(_:) 和 sayHello(_:),这两个函数的类型都是 (String) -> String。 之后在定义一个showResult(:) 的函数,它的返回类型是(String) -> String 类型的函数。 sayHI : sayHello } let show = showResult(true) print(show("world")) //HI world 嵌套函数 把函数定义在别的函数体中