自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 LeetCode 232. Implement Queue using Stacks

232. Implement Queue using Stacks解析更新ing class MyQueue {public: /** Initialize your data structure here. */ MyQueue() { } /** Push element x to the back of queue. */ v...

2018-07-31 23:41:36 110

原创 LeetCode 844. Backspace String Compare

844. Backspace String Compare 解析正如说见,第一次末尾,第二次100%。为什么呢,因为第一次我强行使用stack.但是效果很差。我明白了一个道理:stack是一种思想,而不是一种数据结构。就好像济公说的酒肉穿肠过 佛祖心中留,你用的不是stack,而是用的stack这种方法,思想( ̄▽ ̄)” solution:class Solution {...

2018-07-31 16:07:14 356

原创 LeetCode 496. Next Greater Element I

496. Next Greater Element I 解析这题我真的没搞懂什么意思,在discuss里.Confusing statement这个人解释的我才明白>﹏< 解析solution1: 暴力class Solution {public: vector<int> nextGreaterElement(vector<int&...

2018-07-30 21:41:20 119

原创 LeetCode 682. Baseball Game

682. Baseball Game解析简化版的逆波兰表达式。class Solution {public: int calPoints(vector<string>& ops) { int sum=0; int point=0; int point2 = 0; std::stack&lt...

2018-07-30 17:04:17 136

原创 LeetCode 707. Design Linked List

707. Design Linked List 在这道题翻船了(;´д`)ゞ 我太垃圾了,晚上二刷。

2018-07-30 14:43:41 600

原创 LeetCode 160. Intersection of Two Linked Lists

160. Intersection of Two Linked Lists解析solution1: 我觉得hash是最简单的吧。直接遍历一遍链表,把pointer存在vector里,再遍历另一个链表,看指针是否在vector里出现过。 solution2: 一起遍历两个链表。这样就能得到两个链表长度的差值。再利用这个差值,遍历长一点的链表,使得长一点的链表比短一点的链表多走一...

2018-07-30 09:22:34 73

原创 LeetCode 234. Palindrome Linked List

234. Palindrome Linked List、 解析solution1:没有想出space(1)的方法( __ _ ) 遍历一遍链表,把值放在string.接下来就是常规的回文字符串判断了。class Solution {public: bool isPalindrome(ListNode* head) { std::string inpu...

2018-07-29 23:34:26 94

原创 LeetCode 203. Remove Linked List Elements

Remove Linked List Elements /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class ...

2018-07-29 21:00:08 188

原创 LeetCode 141. Linked List Cycle

141. Linked List Cycle 运行时间击败了100%cpp 提交d=====( ̄▽ ̄*)b解析还是快慢指针的题。 想象一个跑道。一个跑的快的人和一个跑的慢的人。如果跑道是环,则终有一天跑的快的再次遇到一次跑的慢的(第一次是起跑线).。如果不是环,则跑的快的会直接冲向终点O(∩_∩)Oclass Solution {public: bool hasC...

2018-07-29 16:03:44 84

原创 LeetCode 876. Middle of the Linked List

876. Middle of the Linked List解析快慢指针的题目。O(∩_∩)Oclass Solution {public: ListNode* middleNode(ListNode* head) { ListNode* slow = head; ListNode* quick = head; whil...

2018-07-29 14:08:58 152

原创 LeetCode 83. Remove Duplicates from Sorted List

Remove Duplicates from Sorted List class Solution {public: ListNode* deleteDuplicates(ListNode* head) { ListNode dummy(-1); dummy.next = head; ListNode* walk = &am...

2018-07-29 14:06:17 90

原创 LeetCode 21. Merge Two Sorted Lists

Merge Two Sorted Lists 比以前强很多了O(∩_∩)O 解析solution:迭代class Solution {public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode dummy(-1); ListNode* walk =...

2018-07-29 09:28:25 90

原创 LeetCode 237. Delete Node in a Linked List

Delete Node in a Linked List 解析刚开始做到时候,非常蒙。因为链表的题目都是操作每个节点指针。但这题是操作每个节点的数。感觉有种猝不及防的感觉。看看LeetCode这题的评价,(;´д`)ゞ solution 1class Solution {public: void deleteNode(ListNode* node) { ...

2018-07-28 21:35:45 116

原创 Leetcode 206. Reverse Linked List

206. Reverse Linked Listclass Solution {public: ListNode* reverseList(ListNode* head) { if(head == NULL ||head->next ==NULL) return head; ListNode* p = head; ...

2018-07-27 23:30:52 100

原创 算法笔记 --第四章 入门篇(2) 算法初步

rt

2018-07-24 14:19:03 396

原创 1037 在霍格沃茨找零钱

1037 在霍格沃茨找零钱(20)(20 分)如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。 输入格式: 输入在1行中分别给出P和A,格式为“Galleon.Si...

2018-07-23 19:00:24 121

原创 算法笔记 --第三章 入门篇(1) 入门模拟

读书笔记

2018-07-23 14:24:04 323

原创 算法笔记 --第二章 c/c++快速入门

前言这系列blog记录我读算法笔记的时,遇到的trick,备忘。读书笔记①给long long 型数据赋大于231−1231−12^{31}-1的初值时,要在初值后加LL (很少用,但记录下来) ②宏定义#define其实是直接将对应的部分替换。所以使用时小心,加括号 ,或不用( ̄︶ ̄*)) 我平时很少用 ③字符串使用%s读入的时候以空格和换行读入作为结束的标准 我刚开始...

2018-07-22 15:43:27 311

原创 PAT 1036 跟奥巴马一起编程

1036 跟奥巴马一起编程(15)(15 分)美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧! 输入格式:输入在一行中给出正方形边长N(3<=N<=203<=N<=203...

2018-07-21 16:34:59 1032

原创 PAT 1033 旧键盘打字

1033 旧键盘打字(20)(20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过10510510^{5}个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线...

2018-07-20 08:11:21 158

原创 PAT 1032挖掘机技术哪家强

1032 挖掘机技术哪家强(20)(20 分) 为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。 输入格式: 输入在第1行给出不超过10510510^{5}的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。 输出格式: 在一...

2018-07-19 11:23:10 110

原创 PAT 1031 查验身份证

1031 查验身份证(15)(15 分) 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值: Z:0 1 2 3 4 5 6 7 8 9 10 M:1 0 X...

2018-07-18 23:45:17 290

原创 PAT 1030 完美数列

1030 完美数列(25)(25 分)给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M<=m∗pM<=m∗pM 10510510^{5})是输入的正整数的个数,p(<= 10910910^{9})是给定的参数。第二行给出N个正整数,每个数不超过10910910^{9}。 输出格式: 在一行中输出最多可以选择多少个数可以用它们组成一个完美数列。 ...

2018-07-18 19:20:36 233

原创 PAT 1029 旧键盘

1029 旧键盘(20)(20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。 输入格式: 输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。 输出...

2018-07-17 17:06:11 211

原创 PAT 1028 人口普查

1028 人口普查(20)(20 分) 某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是2014年9月6日,所以超过200岁的生日和未出生的生日都是不合理的,应该被过滤掉。 输入格式: 输入在第一行给出正整数N,取值在(0, 10510510^{5}];...

2018-07-17 09:03:42 137

原创 PAT1027 打印沙漏

1027 打印沙漏(20)(20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。 给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙...

2018-07-16 18:06:51 182

原创 PAT 1026 程序运行时间

1026 程序运行时间(15)(15 分) 要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即“时钟打点”。同时还有一个常数CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数f的运行时间,我们只要在调用f之前先调用clock(),...

2018-07-16 15:10:43 204

原创 PAT 1025 反转链表

1025 反转链表 (25)(25 分) 给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4;如果K为4,则输出应该为4→3→2→1→5→6,即最后不到K个元素不反转。 输入格式: 每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址、结点总个数正整数N(<=<=105105...

2018-07-15 22:43:21 244

原创 PAT1024 科学计数法 (20)

1024 科学计数法 (20)(20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]”.”[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出。 现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。 输入格式: 每个输...

2018-07-14 17:58:42 236

原创 PAT 1023 组个最小数 (20)

1023 组个最小数 (20)(20 分)给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。 现给定数字,请编写程序输出能够组成的最小的数。 输入格式: 每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有...

2018-07-13 23:13:58 195

原创 PAT 1022D进制的A+B

1022 D进制的A+B (20)(20 分)输入两个非负10进制整数A和B(<=2312312^{31}-1),输出A+B的D (1 < D <= 10)进制数。 输入格式: 输入在一行中依次给出3个整数A、B和D。 输出格式: 输出A+B的D进制数。 输入样例:123 456 8输出样例:1103解析模拟一遍除二取余法就行了。...

2018-07-13 20:52:12 275

原创 PAT 1021 个位数统计

1021 个位数统计 (15)(15 分)给定一个k位整数N = dk−1dk−1d_{k-1}10k−110k−110^{k-1} + … +d1d1d_{1}10110110^{1} + d0d0d_{0}(0<=didid_{i}<=9, i=0,…,k-1, dk−1dk−1d_{k-1}>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 10031...

2018-07-13 17:59:37 158

原创 PAT 1020月饼

1020 月饼 (25)(25 分)月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。 注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大...

2018-07-13 15:12:13 148

原创 PAT 1019 数字黑洞

1019 数字黑洞 (20)(20 分)给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。 例如,我们从6767开始,将得到:7766 - 6677 = 10899810 - 0189...

2018-07-12 18:59:57 354

原创 PAT 1018锤子剪刀布

1018 锤子剪刀布 (20)(20 分)大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。 输入格式: 输入第1行给出正整数N(<=10510510^{5}),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀...

2018-07-12 11:13:32 224

原创 深入理解计算机系统arch lab

411

2018-07-11 21:53:34 13878 4

原创 PAT1017 A除以B

1017 A除以B (20)(20 分)本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔。 输出格式: 在1行中依次输出Q和R,中间以1空格分隔。 输入样例:123456789050987654321 7输出样例:17636...

2018-07-11 19:33:11 130

原创 PAT 1016 部分A+B

1016 部分A+B (15)(15 分)正整数A的 “ DADAD_{A}(为1位整数)部分” 定义为由A中所有DADAD_{A}组成的新整数PAPAP_{A}。例如:给定A = 3862767,DADAD_{A}= 6,则A的“6部分”PAPAP_{A}是66,因为A中有2个6。 现给定A、DADAD_{A}、B、DBDBD_{B},请编写程序计算PAPAP_{A} +PBPBP_{B}...

2018-07-11 15:15:39 178

原创 PAT 1014 福尔摩斯的约会

1014 福尔摩斯的约会 (20)(20 分)大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2...

2018-07-10 18:10:07 115

原创 PAT 1013 数素数

1013 数素数 (20)(20 分)令PiPiP_{i}表示第i个素数。现任给两个正整数M <= N <= 10410410^{4},请输出PMPMP_{M}到PNPNP_{N }的所有素数。 输入格式: 输入在一行中给出M和N,其间以空格分隔。 输出格式: 输出从PMPMP_{M}到PNPNP_{N }的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格...

2018-07-10 12:35:39 123

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除