摘要: 一:介绍两个有用的工具 [正则表达式学习网站] [正则表达式练习] 二:每个符号表示的含义 . 表示单个字符 [] 表示一个范围,例如[abc]表示a,b,c [^] 表示非,例如[^abc]表示除了abc的单个字符 * 表示0次或无限次 + 表示一次或者无限次 ? 表示0次或者1次 | 表示任意一 阅读全文
posted @ 2020-02-27 22:22 薛定谔的哈士奇 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList,例如按照链表顺序,1->2->3->4->5->6->7->8,那么我们将得到{8,7,6,5,4,3,2,1}题目分析:对于单向链表我们知道,一个值与下一个值一一连接,而将值反向输出,我们可以用一个容器存起来,然后反向遍历输出结果,不过我们有一个更好的容器可以实现这一功能,那就是栈,栈具有先入后出的特点,所以我们将链表的值... 阅读全文
posted @ 2019-04-28 23:15 薛定谔的哈士奇 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目描述:请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"class Solution {public: void Insert(char ch) { s += ch; hash[ch]++; } ... 阅读全文
posted @ 2019-04-13 13:56 薛定谔的哈士奇 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 题目描述:输入一个正整数数组,把数组里面所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个,例如输入数组{3,32,321},输出的最小数字为321323题目分析:如果采用穷举法,把每一种可能都列举一遍,然后比较得到最小的一个字符串,那么将会有n的全排列个组合,也就是n的阶乘种情况,当n值很大时,时间复杂度是爆炸的,所以我们需要采用一种更小的方法,首先我们知道这样一个规律,对于字符串连... 阅读全文
posted @ 2019-04-09 21:22 薛定谔的哈士奇 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变,例如{5,1,4,2,7,0,6,9},结果为{5,1,7,9,4,2,0,6} 题目分析: 题目要求分开奇数和偶数,还 阅读全文
posted @ 2019-04-05 17:11 薛定谔的哈士奇 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内,数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次,请找出数组中任一个重复的数字,例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应输出的第一个重复的数字为2 题目分析: 如果我们采用两个 阅读全文
posted @ 2019-03-26 20:40 薛定谔的哈士奇 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 突发奇想对C++输入输出做一点研究,主要是做笔试题自己写输入老是花很多时间,所以做一个总结。对于输入多行字符串,代码如下:#include#includeusing namespace std;int main() { int n; string s; cout > n; for (int i = 0; i > s; cout #includeusing na... 阅读全文
posted @ 2019-03-19 10:02 薛定谔的哈士奇 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 题目描述:输入n个整数,找出其中最小的k个数,例如,输入{4,5,1,6,2,7,3,8}这8个数字,最小的4个数字是1,2,3,4 题目分析:首先我能想到的是先对数组排序,从小到大,然后直接输出想要的最小的k个点,而根据排序算法,表现的比较好的快速排序时间复杂度为o(nlogn),但是有没有时间复 阅读全文
posted @ 2019-03-18 16:57 薛定谔的哈士奇 阅读(165) 评论(0) 推荐(1) 编辑
摘要: 一.一道题目引发我对map函数的考量 首先是题目大意:有n个银行,a[i]表示这个人在第i个银行有a[i]块钱(可以是负数),所有银行的钱加起来正好是0.每次只能在相邻的银行之间转账,问最少要转多少次就能使所有的a[i]的值为0。其中1和n相邻。 数据范围: n (1 ≤ n ≤ 100 000)a 阅读全文
posted @ 2019-03-15 10:14 薛定谔的哈士奇 阅读(875) 评论(0) 推荐(1) 编辑
摘要: 排序算法可以说是最基本的算法,希望通过自己再写一遍加强记忆。 一.冒泡排序 首先说下冒泡排序,因为排序过程很像气泡从水底一颗一颗冒出来,形象生动的叫冒泡排序,主要过程就是从头开始检索,一一比较,将比较的两者最大的放在后面,循环完毕排序结束。 举个例子:现有数组2,3,7,1,5,那么冒泡排序过程为: 阅读全文
posted @ 2019-03-14 11:05 薛定谔的哈士奇 阅读(144) 评论(0) 推荐(0) 编辑