Needle

2013年蓝桥杯省赛C/C++A组真题解析

﹥>﹥吖頭↗ 提交于 2021-01-14 18:09:13
1、高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢? 高斯出生于:1777年4月30日。 在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。 高斯获得博士学位的那天日记上标着:8113 请你算出高斯获得博士学位的年月日。 提交答案的格式是:yyyy-mm-dd, 例如:1980-03-21 此题的易错点在于是否要算上高斯出生的那天,以及输出格式。 C++解法: 1 // 从出生年开始算起,这种题一般都要掐头去尾,我直接把头加上了, 2 // 出生第一天也算是活了一天,所以加119就行, 3 4 #include<iostream> 5 using namespace std; 6 int month[ 13 ] = { 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 }; 7 int main() 8 { 9 int n; 10 while (cin >> n) 11 { 12 n += 119 ; 13 int year = 1777

C语言 | 指针string处理函数?

↘锁芯ラ 提交于 2020-11-24 15:47:30
点击 蓝字 关注我们 指针和字符串 当字符串(含有\0字符数组)做函数参数时,不需要提供2个参数,因为每个字符串都有'\0' 测试:字符串比较(strcmp())函数 比较str1 和 str2, 如果相同返回0, 不同则依次比较ASCLL码,str1 > str2 返回1,否则返回—1. 分析:循环依次比较两个字符串对应的字符,——相同—0 对应位不同,比较字符ascll码, str1 > str2 —1,str1 < str2 ——1 字符串拷贝(strcpy)函数 将一个字符串的所有字符,依次拷贝到另一个字符数组中 在字符串中查找字符出现的位置(strchr()函数) 找出字符串中的ch字符第一次出现的位置,返回 字符去空格 //封装函数,去除字符串空格 带参数的 main 函数 无参: 有参 1)参1:表示给main函数传值的参数的总给数 2)参2:是一个数组,数组的每一个元素都是字符串(char*) 测试字符串: strstr()函数 #include<string.h> char * strstr ( const char * haystack , const char * needle ); str 中 substr 出现的次数 求字符串非空格元素的个数 my favorite c language 统计这里除空格外字符的个数 字符串逆置(逆序) 判断字符串是否回文

java:比赛中常用方法整理——字符串(基础)

我们两清 提交于 2020-11-16 03:00:53
一.将字符串转化为字符数组:   toCharArray返回一个字符数组。 char [] a=J.toCharArray(); 二.字符串的长度 字符串的长度和字符数组的长度是不一'样'的. 字符串长度(字符串中的字符个数): 1 String J="HELLO" ; 2 J.length(); 字符串的长度为5,且是一个方法length(); 字符数组的长度: String J="HELLO" ; char a= J.toCharArray(); System.out.println(a.length); 字符数组需要获取长度,是访问一个对象length。 三.字符串的比较 我详细阅读了这篇文章,总结了一下: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址。 所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 所以比较字符串是否相等时,要使用equlas方法。 String str1="Hello" ; String str2 ="Hello" ; str1.equals(str2); // return true

php弱类型问题总结

流过昼夜 提交于 2020-11-08 18:23:46
No.1 声明 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。 雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。 No.2 弱类型介绍 php是特别方便的一个语言,在申明一个变量的时候,并不需要指明它保存的数据类型,但是由于其自身弱类型语言的特性以及内置函数对于传入参数的松散处理,会带来很多的安全问题,这里将进行简要介绍。 弱类型语言对变量的数据类型没有限制,可以将变量赋值成其他类型变量,同时变量可以转换成任意其他类型的数据。 No.3 弱类型会产生的问题 使用PHP函数对变量$x进行比较: ==比较两个变量的值,不比较数据类型。 ===比较两个变量的值和类型。 类型转换问题 类型转换是无法避免的问题。例如需要将GET或者是POST的参数转换为int类型,或者是两个变量不匹配的时候,PHP会自动地进行变量转换。但是PHP是一个弱类型的语言,导致在进行类型转换的时候会存在很多意想不到的问题。 var_dump("abc" == 0); //bool(true) var_dump("1ab" == 1); //bool(true) var_dump("ab1" ==

力扣前一百题简单难度汇总(共21题)(一)

柔情痞子 提交于 2020-11-05 05:48:08
声明: 简单难度的题基本都不看答案,使用自己的方法来做,如果引用了他人的代码将会有所标注。 简单难度的题虽然基本一看就有思路,但是实际编写代码的过程中会出现各种问题,尤其是边界问题,所以大多代码并不是一次写成的,而是使用idea的代码调试功能多次尝试后修改成功的。 1、两数之和 思路:先固定第一个数,然后找到第二个数使得两个数相加等于target,一旦找到这样的两个数,就直接返回结果,不再循环。由于给定的测试数据必然会有答案,所以无需考虑找不到这样两个数的情况。 代码: public int [ ] twoSum ( int [ ] nums , int target ) { int ret [ ] = new int [ 2 ] ; boolean flag = true ; for ( int i = 0 ; i < nums . length && flag ; i ++ ) { for ( int j = i + 1 ; j < nums . length ; j ++ ) { if ( nums [ i ] + nums [ j ] == target ) { ret [ 0 ] = i ; ret [ 1 ] = j ; flag = false ; break ; } } } return ret ; } 7、整数反转 思路:首先将整数转换为字符串

PHP实战之字符串函数解读

风流意气都作罢 提交于 2020-08-19 03:23:11
目录 1.前言 2.字符串出现位置 2.1 strstr() : 区分大小写 查找第一次出现的位置 2.2 stristr():不区分大小写 查找第一次出现的位置 2.3 strpos():是否包含 2.4 explode():分割字符串 2.5 substr ():指定位置判断指定字符串 2.6 substr_count() : 统计子字符串出现次数 3.替换字符串 3.1 str_replace(): 区分大小写 替换字符 3.2 substr_replace() :兼容中文替换字符 4. 总结 1.前言 在项目开发过程中,出现了bug,就是封装SQL语句产生了多余的字符串,当想根据字符串查询然后删除的时候,发现关于字符串的函数有点忘记了.下面来回顾一下。 2.字符串出现位置 2.1 strstr():区分大小写查找第一次出现的位置 strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。 该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。 <?php $email = 'user@example.com'; $domain = strstr($email, '@'); echo $domain; // prints @example.com ?> 2.2 stristr():不区分大小写查找第一次出现的位置 stristr()

PHP编码安全之一: 弱数据类型安全

我与影子孤独终老i 提交于 2020-08-17 04:30:45
本文内容参考自《PHP安全之道》。 由于PHP的弱数据类型的特性, 造成了其易学和易用的特点。但是PHP在使用等于(==)判断的时候, 不会严格检查变量类型,会进行变量的自动转换,由此造成了一定的安全隐患。 在下面的代码中, 当用户输入的type=a时, 会直接进入支付逻辑: $type = $_GET['type']; if($type == 0){ echo '进入支付流程'; }else{ echo '其他逻辑'; } 这时我们建议使用全等于(===)来进行逻辑判断。 我们再看几个例子: var_dump(false == 0); // bool(true) var_dump(false == ''); // bool(true) var_dump(false == '0'); // bool(true) var_dump(0 == '0'); // bool(true) var_dump(0 == '0xxx'); // bool(true) var_dump(0 == 'xxx'); // bool(true) 更多关于PHP的类型比较的资料参考 https://www.php.net/manual/zh/types.comparisons.php Hash 比较缺陷 MD4、MD5、SHA-1、SHA-256、SHA-384以及SHA-512

您如何计算字符串中字符串(实际上是字符)的出现?

前提是你 提交于 2020-08-15 10:54:27
问题: I am doing something where I realised I wanted to count how many / s I could find in a string, and then it struck me, that there were several ways to do it, but couldn't decide on what the best (or easiest) was. 我正在做某件事,我意识到我想计算一个字符串中可以找到多少个 / 秒,然后让我感到震惊的是,有几种方法可以做到,但无法决定最好的(或最简单的)是。 At the moment I'm going with something like: 目前,我正在处理类似: string source = "/once/upon/a/time/"; int count = source.Length - source.Replace("/", "").Length; But I don't like it at all, any takers? 但是,我一点都不喜欢它,对吗? I don't really want to dig out RegEx for this, do I? 我真的不想为此挖掘 RegEx ,对吗? I know my string is going

分布式存储Seaweedfs源码分析

霸气de小男生 提交于 2020-08-13 15:51:15
基于源码版本号 0.67 , 【Seaweedfs以前旧版叫Weedfs】。 Seaweedfs 是一个非常优秀的由 golang 开发的分布式存储开源项目, 虽然在我刚开始关注的时候它在 github.com 上面只有 star 50+, 但是我觉得这个项目是一个几千 star 量级的优秀开源项目。 Seaweedfs 的设计原理是基于 Facebook 的一篇图片存储系统的论文 Facebook-Haystack , 论文很长,但是其实原理就几句话,可以看看 Facebook图片存储系统Haystack , 我觉得 Seaweedfs 是青出于蓝而胜于蓝。 Seaweedfs 这个开源系统涵盖的面比较多, 很难在一篇文章里面说清楚, 只能尽可能清楚的说说主要的部分。 源码目录结构 核心模块 weed 入口目录 weed/weed_server 入口目录与HTTP服务相关 topology 核心模块,主要包括 【DataCenter, Rack, DataNode】 三层拓扑结构。 storage 核心模块,主要包括【Store, Volume, Needle】这三大块存储相关的源码。 辅助模块 sequence 负责FileID的全局有序生成 filer 提供支持 HTTP REST 操作的文件服务器,其实就是基于 leveldb 把文件名和目录结构存储起来。 stats

leetcode 字符串类型题

倾然丶 夕夏残阳落幕 提交于 2020-04-25 13:24:34
1,Vaild Palindrome 1 bool isPalindrome( string & s) { 2 transform(s.begin(), s.end(), s.begin(), tolower); // 把字符全部转换成小写 3 int left = 0 ; 4 int right = s.length()- 1 ; 5 while (left < right) { 6 if (!isalnum(s[left])) ++ left; 7 else if (!isalnum(s[right])) -- right; 8 else if (s[left] != s[right]) return false ; 9 else { 10 ++ left; 11 -- right; 12 } 13 } 14 return true ; 15 } isPalindrome 2,Implement strStr 1 int strStr( const string & haystack, const string & needle) { // KMP 算法,BM 算法 2 if (needle.empty()) return 0 ; 3 const int N = haystack.length() - needle.length(); 4 for ( int i = 0 ; i