自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lunaticf的博客

Code is my treasure.

  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 Leetcode 2-Add two numbers

Leetcode2-Add two numbersa slightly simple code.ListNode * addTwoNumbers(ListNode * l1, ListNode * l2) { ListNode dummy(0); ListNode * p = &dummy; int sum = 0; while (l1 || l2)

2018-01-15 21:28:13 224 1

原创 Leetcode 49- Group Anagrams

Leetcode49- Group Anagrams遍历一遍 将每个字符串排序之后放进表内 表内存放该字符串属于第几组vector vector string >> groupAnagrams(vector string > &strs) { unordered_map string, int > record; vector vector string >>

2018-01-12 19:18:45 229

原创 Leetcode 11-Container With Most Water

Leetcode11-Container With Most Water暴力不可取 首先,自然想到最左边和最右边的wall有着最大的宽度。所以如果不用这个最大的宽度,我们就需要两堵墙有着更大的高度。 设最左边的wall有高度h1 最右边的wall高度h2, 之间宽度为w 则s = w*min(h1,h2) 对于h = min(h1,h2)的wall来说 设再选择any wa

2018-01-05 18:31:31 249

原创 Leetcode 125-Valid Palindrome

Leetcode125-Valid Palindrome对撞指针 注意下空字符串。bool isPalindrome(string s) { int i = 0; int j = s.size() - 1; while (i < j) { while (!isalnum(s[i]))++i; while (!isalnum(s[j

2018-01-05 15:55:51 253

原创 Leetcode 215.Kth Largest Element in an Array

Leetcode215. Kth Largest Element in an Array最naive的做法自然就是all in sortsort(nums.begin(),nums.end());return nums[nums.size() - k];time complexity: O(nlogn) 然而我们只需要找到第k个最大的数 这样有太多的浪费的操作了

2018-01-04 17:38:07 237

原创 02-线性结构4 Pop Sequence (25分)

02-线性结构4 Pop Sequence (25分) Given a stack which can keep MM numbers at most. Push NN numbers in the order of 1, 2, 3, …, NN and pop randomly. You are supposed to tell if a given sequence of numbers

2017-04-15 22:28:26 512

原创 Maximum Subsequence Sum

复杂度2 Maximum Subsequence Sum (25分) Given a sequence of KK integers { N_1N ​1 ​​ , N_2N ​2 ​​ , …, N_KN ​K ​​ }. A continuous subsequence is defined to be { N_iN ​i ​​ , N_{i+1}N ​i+1 ​​ ,

2017-04-15 00:27:52 402

原创 PAT-B1069. 微博转发抽奖

1069. 微博转发抽奖(20)小明PAT考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔N个人就发出一个红包。请你编写程序帮助他确定中奖名单。输入格式:输入第一行给出三个正整数M(<= 1000)、N和S,分别是转发的总量、小明决定的中奖间隔、以及第一位中奖者的序号(编号从1开始)。随后M行,顺序给出转发微博的网友的昵称(不超过20个字符、不包含空格回车的非空字符串)。注意:可

2017-03-28 12:52:53 568

原创 PAT-B1068. 万绿丛中一点红

1068. 万绿丛中一点红(20)对于计算机而言,颜色不过是像素点对应的一个24位的数值。现给定一幅分辨率为MxN的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围8个相邻像素的颜色差充分大。输入格式:输入第一行给出三个正整数,分别是M和N(<= 1000),即图像的分辨率;以及TOL,是所求像素点与相邻点的颜色差阈值,色差超过TOL的点才被考虑。随后N行,每行给

2017-03-28 10:23:57 937

原创 PAT-B1065. 单身狗

1065. 单身狗(25)“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式:输入第一行给出一个正整数N(<=50000),是已知夫妻/伴侣的对数;随后N行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(<=10000),为参加派对的总人数;随后一行

2017-03-20 21:57:02 299

原创 PAT-B1035. 插入与归并

1035. 插入与归并(25)插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成N个只包含1个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下1个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判断该算法究竟是哪种排

2017-02-23 10:21:12 653

原创 PAT-B1003. 我要通过!

我要通过!“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有P, A, T这三种字符,不可以包含其它字符;任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;如果 aPbT

2017-02-19 23:17:19 503

原创 PAT-B1059. C语言竞赛

1059. C语言竞赛(20)C语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!其他人将得到巧克力。给定比赛的最终排名以及一系列参赛者的ID,你要给出这些参赛者应该获得的奖品。输入格式:输入第一行给出一个正整数N(<=100

2017-02-17 22:18:37 358

原创 PAT-B1045. 快速排序

1045. 快速排序(25)著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定N = 5, 排列是1、3、2、4、5。则:1的左边没有元素,右边的元素都比它大,所以它可能是主元; 尽管3的左边元素都比它小,但是

2017-02-17 21:21:46 337

原创 PAT-B1040. 有几个PAT

1040. 有几个PAT(25)字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。现给定字符串,问一共可以形成多少个PAT?输入格式:输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。输出格式:在一行中输出给定字符串中包含多少个PAT。由于结果可能比较大,只输出对1

2017-02-17 20:55:09 538

原创 PAT-B1044. 火星数字

1044. 火星数字(20)火星人是以13进制计数的:地球人的0被火星人称为tret。 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。 火星人将进位以后的12个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer, jo

2017-02-16 21:42:40 340

原创 PAT-B1051. 复数乘法

1051. 复数乘法 (15)复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2 = -1;也可以写成极坐标下的指数形式(R*e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式 R(cos(P) + isin(P))。现给定两个复数的R和P,要求输出两数乘积的常规形式。输入格式:输入在一行中依次给出两个复数的R1, P1, R2, P2,数字间

2017-02-16 19:27:40 672

原创 PAT-B1049. 数列的片段和

1049. 数列的片段和(20)给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列{0.1, 0.2, 0.3, 0.4},我们有(0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) (0.4) 这10个片段。给定正整数

2017-02-16 18:37:56 439

原创 PAT-B1061. 判断题

1061. 判断题(15)判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。输入格式:输入在第一行给出两个不超过100的正整数N和M,分别是学生人数和判断题数量。第二行给出M个不超过5的正整数,是每道题的满分值。第三行给出每道题对应的正确答案,0代表“非”,1代表“是”。随后N行,每行给出一个学生的解答。数字间均以空格分隔。输出格式: 按照输入的顺序输出每个学生的

2017-02-15 18:21:11 447

原创 PAT-B1037. 在霍格沃茨找零钱

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

2017-02-14 22:16:35 333

原创 PAT-B1031.查验身份证

1031. 查验身份证(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 9 8 7 6 5 4

2017-02-14 20:52:25 390

原创 PAT-B1024.科学计数法

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

2017-02-14 19:42:51 877

原创 PAT-B1023.组个最小数

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

2017-02-14 16:13:04 979

原创 PAT-B1020.月饼

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

2017-02-14 14:30:10 588

原创 用Node.js实现机器学习中的K最近邻分类算法

1. 简介源于数据挖掘的一个作业, 这里用Node.js来实现一下这个机器学习中最简单的算法之一k-nearest-neighbor算法(k最近邻分类法)。k-nearest-neighbor-classifier还是先严谨的介绍下。急切学习法(eager learner)是在接受待分类的新元组之前就构造了分类模型,学习后的模型已经就绪,急着对未知的元组进行分类,所以称为急切学习法,诸如决策树归纳,

2017-02-14 14:12:48 681

原创 操作系统-Linux添加系统调用

Linux添加系统调用最近一直醉心于专业课~深感CS基础的重要性 但是我依然front-end high~这次就分享一下从编译内核到Linux添加系统调用的过程吧。一、准备我使用的是ubuntu 16.04 LTS,下载的是4.4.25的内核。 首先要注意硬盘至少需要30g,不然会爆掉…别问我怎么知道的。内存分配的稍微大点就好。内核下载地址二、编译内核编译内核其实很简单~我们先切换到root用户,

2017-02-14 14:08:05 9563

原创 CSS特殊性详解

之前学CSS一直没有深入的去研究CSS选择器的优先级,这次好好的看了下之后写的时候特殊性值仿佛都浮现在眼前,现在写的时候心里更加清晰,这里梳理一下学到的东西。特殊性(specificity)我们可以用很多种写法来定位一个元素,而选择器的特殊性值则是决定哪一个胜出的关键。 选择器的特殊性值其实很简单,就是0,0,0,1/0,1,0,1/0,0,0,5/….的形式。 主要有四个规则:用了ID +0

2016-08-15 00:51:36 1175

原创 JavaScript中为什么没有函数重载

ECMAScript中为什么没有函数重载的概念?  首先我们需要了解一个前提,在ES中函数都是对象,函数名实际上是一个指向函数的指针,并不与函数绑定,那么理解起来就很容易了。   接下来用一段简单的代码来阐述。function add(a){ return a+1;};function add(a,b){ return a+b;};console.log(add(1));/

2016-07-11 10:34:45 534

css揭秘前端

css揭秘 非常好的一本css书 这本书是为新一代CSS所写的新一代CSS图书

2018-05-17

操作系统概念 9th 英文原版 恐龙书

操作系统经典恐龙书最新版第九版超清

2016-11-14

空空如也

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

TA关注的人

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