自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode ksum

ksum在leetcode上,我暂时也只看到了四道题,其实很像,所以来总结下,首先是2sum,是里面最简单的,有两种方法,一个是hash_map,哈希表,查询的复杂度只有On,也可以先排序,两个指针向内移动,排序复杂度是Ologn还有3sum,3sum就是先排序,然后先固定一个数,剩下的用两个指针向内移动找到target,再对固定的数进行遍历,3sum clost也是一样的,只是要对最小的进行比较...

2018-02-27 17:25:32 346

原创 leetcode 3Sum

这道题就是在一个数组中找出三个相加为0的数字,要求是找出的三个数字都不重复,这道题当然是一看就不能暴力了,首先对数组进行排序,这样就可以二分的查找,排序之后,对数组中的每一个数字取负数就是target,然后在剩下有序的数组里查找,这是最基本的思路,然后是三个数字都不能重复,解决方法:当找出一个解之后,对first和last进行判断,看是否和之前的相同,如果是相同的话,就跳过去,然后对相同数字不重复...

2018-02-26 22:26:30 196

原创 leetcode String to Integer (atoi)

这个题目就是将字符串转化为整数,但是这个题目的要求比较少,没有考虑e,小数点等情况,只是很简单的字符串的转化,当不满足条件时,比如-+1,要输出0,虽然我觉得输出-1应该才对吧。。。还有一点是对溢出的判断,溢出的话,就输出边界值(INT_MAX或INT_MIN)还有对于正负数空格的判断,别的要求就没有了,代码如下,也比较简单。。。class Solution {public:

2017-12-28 13:24:35 235

原创 Leetcode ZigZag Conversion解题报告

首先解释一下题目意思,这个ZigZag就是锯齿形,之字形,举个例子就可以明白对于0~13当numRows=3时0      4      8       121  3  5  7  9  11 132      6     10      当numRows=4的时候0      6            121   5 7       11 132 4   8  1

2017-12-25 16:28:01 165

原创 Leetcode Longest Palindromic Substring解题报告

首先是我自己最先写的解法:就是将每一个字符作为中心字符,然后向两边一个一个的进行扩展,看是否相等,这样来判断回文子串,但是这样实现的时候,奇数偶数的情况要分开来算,总的不影响时间复杂度,都是o(n2),代码还是很好看懂的我觉得。。。class Solution {public: string longestPalindrome(string s) { int

2017-12-25 14:44:45 143

原创 Leetcode Longest Substring Without Repeating Characters解题报告

这个题目就是用一个256大小的数组,因为ASCII码能表示的范围就是256,然后出现一个字母都记住它最新的位置,记住最左边的位置,相减就是答案了,这个看代码应该比较容易看懂。。。class Solution {public: int lengthOfLongestSubstring(string s) { vector dist(256,-1);

2017-12-24 15:13:17 133

原创 Leetcode Add Two Numbers解题报告

这个就是链表的相加,如果加起来的值大于10,那么这个节点的值应该%10,还有进位为/10,最重要的是要保证不指向空指针。。。其他的都挺好理解的,解法跟之前的有一道easy难度的解法很像/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next;

2017-12-24 14:13:48 153

原创 Leetcode Search Insert Position解题报告

题目真的很简单,然后就掉以轻心,导致交了几遍才过。。。代码一看应该就能懂的那种。。。class Solution {public: int searchInsert(vector& nums, int target) { int len = nums.size(); if(len==0) return 0;

2017-12-23 16:50:20 141

原创 Leetcode Implement strStr()解题报告

看到这题我就觉得应该是不是用kmp,然而我不能直接写出来(我会去多练的。。。),幸好题目也是简单的要求,直接暴力就可以。。。代码确实也很短,不满足相等条件就跳出第二个循环(对needle的循环)判断一下长度来return,也很好理解。。。class Solution {public: int strStr(string haystack, string needle) {

2017-12-23 16:33:43 160

原创 Leetcode Remove Element解题报告

这道题跟上一篇remove duplicates from sorted array的解法是一样的,只是判断条件不一样。。。class Solution {public: int removeElement(vector& nums, int val) { int len = nums.size(); if(len==0)

2017-12-23 16:07:08 115

原创 Leetcode Remove Duplicates from Sorted Array 解题报告

这道题的题意是求一个将一个数组里所有的重复数字去掉,我的解法就是遍历,遍历一遍,每当找到一个不重复的数字,就把它放到该放的地方,然后长度加一,判断重复的方法可以是当前数字和前一个数字进行比较,代码很短也简单class Solution {public: int removeDuplicates(vector& nums) { int len = nums.si

2017-12-23 15:57:30 82

原创 Leetcode Merge Two Sorted Lists 解题报告

题目意思我觉得表述的很清楚了,就是把两个有序的链表合成一个有序的链表,然后会有一种递归的做法,但是可能会造成堆栈溢出,当数据很大的时候。。。我的解法就是两个链表一个一个的判断大小,每次取小的那个,但是因为指针一直向后取值,最后停留在尾部,但是要返回的是头指针,所以先将头指针保存,总之解法和代码都很简单。。。/** * Definition for singly-linked li

2017-12-23 11:08:43 120

原创 Leetcode Valid Parentheses 解题报告

这个就是判断括号的匹配,也很好写,限制也很少。。。其实就是栈的使用,别的也没有什么,但是我的解法是把整个字符串都遍历一遍再去判空,其实不用,判断过程中只要有不匹配的就可以直接returnclass Solution {public: bool isValid(string s) { int len = s.size(); if(len%2!

2017-12-23 10:03:57 138

原创 Leetcode Longest Common Prefix 解题报告

这一题真的觉得题目没有讲的很清楚,然后去看了discuss才明白。。。这道题是求在一个string的array里,对所有的string而言的公共最长的字符前缀,举个例子string0:abstring1:astring2:b那么结果就是空字符串string0:abcdefstring1:abcdfstring2:abcc结果就是abc我的解法就是对第

2017-12-23 09:42:51 127

原创 LeetCode Roman to Integer解题报告

这道题是将1到3999范围内的罗马数字转化为阿拉伯数字,如果知道了罗马数字的规律,就不难罗马数字有如下符号:基本字符IVXLCDM对应阿拉伯数字1510501005001000计数规则:相同的数字连写,所表示的数等于这些数字相加

2017-12-23 08:51:41 145

原创 leetcode Palindrome Number

palindrome number,是判断一个int的值是否是回文的,同时还要求空间复杂度为o(1),也就是不能使用什么辅助内存最开始看到题目就想用vector,但是不行,其实解法也简单,取最前面一个,最后面一个,然后比较,比较相等就把这两位去掉,否则就直接可以return了,还是比较简单的class Solution {public: bool isPalind

2017-12-22 22:18:23 117

原创 LeetCode Reverse Integer

这个是逆转32位的int值,看了例子就应该很清楚要干什么了首先是正负数,这个比较好实现的,用正数进行计算,如果是负数,最后加上负号就好了其次就是溢出的判断,在溢出里首先是知道最大的int的值是0x7fffffff,然后转换的过程中,先取判断这个转换可不可以做,也就是判断是否会溢出,然后再进行后面的操作之前看别的博客里有人问为什么ans*10+x%10>max_int不可以,我觉

2017-12-22 21:07:40 121

原创 leetcode Two Sum

leetcode上的第一题Two Sum,关于数组的

2017-12-22 20:42:20 121

原创 csu1815

The Enterprise is surrounded by Klingons! Find the escape route that has the quickest exit time, and print that time.    Input is a rectangular grid; each grid square either has the Enterprise or so

2017-08-03 16:02:53 161

原创 hdu1597

假设: S1 = 1 S2 = 12 S3 = 123 S4 = 1234 ......... S9 = 123456789 S10 = 1234567891 S11 = 12345678912 ............ S18 = 123456789123456789 .................. 现在我们把所有的串连接起来 S = 1

2017-08-02 17:08:38 238

原创 hdu1548

There is a strange lift.The lift can stop can at every floor as you want, and there is a number Ki(0 <= Ki <= N) on every floor.The lift have just two buttons: up and down.When you at floor i,if you p

2017-08-02 17:04:23 481

原创 csu1775 悲催的移寝

对于csuxushu来说,能够在CSU(California State University)上学是他一生的荣幸,而换校区搬寝室则是他最大的不幸。顺利通过省赛选拔,开心的csuxushu现在需要着手准备搬家事宜。对于好学的csuxushu来说,唯一头疼的就是书籍的搬运了,因为他的书实在是太多了。为了防止书籍在运输过程中受损,他打算定制特制的储物保护箱。为了简单起见,我们假设他所有的书都是一样

2017-08-02 16:13:49 216

原创 CodeForces - 831A Unimodal Array

Array of integers is unimodal, if:it is strictly increasing in the beginning;after that it is constant;after that it is strictly decreasing.The first block (increasing) and the last block (decre

2017-08-02 15:49:49 210

原创 poj1068 Parencodings

Let S = s1 s2...s2n be a well-formed string of parentheses. S can be encoded in two different ways: q By an integer sequence P = p1 p2...pn where pi is the number of left parentheses before the ith

2017-08-02 15:46:02 191

原创 csu1726 你经历过绝望吗?两次!

4月16日,日本熊本地区强震后,受灾严重的阿苏市一养猪场倒塌,幸运的是,猪圈里很多头猪依然坚强存活。当地15名消防员耗时一天解救围困的“猪坚强”。不过与在废墟中靠吃木炭饮雨水存活36天的中国汶川“猪坚强”相比,熊本的猪可没那么幸运,因为它们最终还是没能逃过被送往屠宰场的命运。我们假设“猪坚强”被困在一个N*M的废墟中,其中“@”表示“猪坚强”的位置,“.”表示可以直接通过的空地,“#”表示

2017-08-02 15:41:00 371

原创 csu1224 ACM小组的古怪象棋

ACM小组的Samsara和Staginner对中国象棋特别感兴趣,尤其对马(可能是因为这个棋子的走法比较多吧)的使用进行深入研究。今天他们又在 构思一个古怪的棋局:假如Samsara只有一个马了,而Staginner又只剩下一个将,两个棋子都在棋盘的一边,马不能出这一半棋盘的范围,另外这 一半棋盘的大小很奇特(n行m列)。Samsara想知道他的马最少需要跳几次才能吃掉Staginner的将(我

2017-08-02 08:59:13 210

原创 poj3126 Prime Path

The ministers of the cabinet were quite upset by the message from the Chief of Security stating that they would all have to change the four-digit room numbers on their offices. — It is a matter of s

2017-08-02 08:52:19 154

原创 Knight Moves POJ - 1915

Background Mr Somurolov, fabulous chess-gamer indeed, asserts that no one else but him can move knights from one position to another so fast. Can you beat him? The Problem Your task is to write

2017-08-02 08:20:24 185

原创 hdu1312 Red and Black

There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he can move to one of four adjacent tiles. But he can'

2017-08-02 08:17:36 165

原创 csuoj1974: 神奇药水

Description       对于csuxushu来说,能够在CSU(California State University)组织2017年的ACM暑期集训让他感到十分荣幸。 csuxushu是一名充满梦想的程序员,因此他也希望来参加暑期集训的ACM萌新们和他一样怀揣着书写CSU-ACM历史的梦想。 一个偶然的机会,他在机房的某个角落得到了一本来自远古神犇的药水配方秘籍。秘籍上记载了许多

2017-07-31 08:17:08 277

原创 CSUOJ1972: 大梵天的恩赐

Description许久没有抽到SSR的子浩君,祈求上天赐给他一个SSR,他的诚信感动了大梵天,于是,大梵天又弄了一个2*n层的汉诺塔,一共有n种大小,每种大小两个,从上往下按照从小到大依次放置,如果子浩君能够按照汉诺塔的规则摆放好,那么就赐予子浩君一个SSR。然而当子浩君摆好的时候,大梵天说:“No,no,no,这不是我想要的,我需要初始情况是什么样的结果就是什么样的,即使大小相同的顺

2017-07-31 08:13:50 330

原创 csuoj1971 安排座位

Description一年一度的暑期集训又开始了!作为老人的小明非常忧伤,因为他要给所有的新人安排座位。由于安排给新人的座位上的机器可能有各种毛病(比如很卡,上不了网之类的),这些问题的出现都会让新人的训练热情下降。为了让更多的新人能够留下,小明自然希望大家的热情都是高涨的。对于每个新人,都会有一个热情值ai,而每个座位都会有一个热情耗损值bi,如果第i个新人坐在第j个位置,那这位同学

2017-07-31 08:10:49 214

原创 csuoj 1970 LXX数

Description又是一年集训时,刚出家里赶来的LXX很是郁闷。因为CS市的天气实在是难以忍受了,加之搬寝室到CS大学“老”校区。一天晚上CS大学“老”校区的寝室又停电了,LXX和室友实在是难以呆下去了。于是商量一起去网吧吹空调,但是谁请客是个问题。LXX的室友小Z便甩出一个问题给LXX,只要LXX在1S内计算出来便请客。问题如下:我有n个数,a[1]~a[n],初始值均为0,现在我要

2017-07-31 08:05:27 186

原创 HDU - 1455 G - Sticks

George took sticks of the same length and cut them randomly until all parts became at most 50 units long. Now he wants to return sticks to the original state, but he forgot how many sticks he had orig

2017-07-30 16:57:41 201

原创 CSU - 1600 Twenty-four point

Given four numbers, can you get twenty-four through the addition, subtraction, multiplication, and division? Each number can be used only once.InputThe input consists of multiple test cases. E

2017-07-30 16:52:58 172

原创 CSU - 1960 单源最大权路径

有一棵由N个结点构成的树,每一条边上都有其对应的权值。现在给定起点,求从该点出发的一条路径(至少有一条边)使得这条路径上的权值之和最大,并输出这个最大值。Input第一行一个正整数T,代表数据组数。每组数据第一行两个正整数n(2Output每组数据输出一行,即所找到路径的最大权值(格式参见样例)。Sample Input23 11 2 101 3 55

2017-07-30 16:50:47 211

原创 HDU - 2553 N皇后问题

在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。 你的任务是,对于给定的N,求出有多少种合法的放置方法。 Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。Output共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。Sample

2017-07-30 16:47:58 716

原创 HihoCoder - 1049 后序遍历

描述在参与过了美食节之后,小Hi和小Ho在别的地方又玩耍了一阵子,在这个过程中,小Ho得到了一个非常有意思的玩具——一棵由小球和木棍连接起来的二叉树!小Ho对这棵二叉树爱不释手,于是给它的每一个节点都标记了一个标号——一个属于A..Z的大写字母,并且没有任意两个节点的标号是一样的。小Hi也瞅准了这个机会,重新巩固了一下小Ho关于二叉树遍历的基础知识~就这样,日子安稳的过了两天。这天,小

2017-07-30 16:42:35 164

原创 uva 1608 Non-boring sequences

解题思路:不无聊的序列,这是刘汝佳紫书上的一道题,首先先找出一个独一无二的数字,那么只要跨越了这个数字的序列就是不无聊的,这个时候,再去找这个数字左边的序列和这个数字右边的序列,看是否是无聊的代码:#include#include#include#includeusing namespace std;const int MAX = 200010;int N,T;in

2017-07-30 08:35:12 132

原创 uva12627 Erratic Expansion

解题思路:观察可得,其实后一个状态是三个一样的前一个状态和全是蓝色的球的部分组成,这里要求a到b,那么就去求1到b减去1到a,这是很重要的思想,然后,根据a的大小,是在中线以上还是中线一下,如果是在中线以上,其实就是前一个状态的两倍,因为是两个一样的部分的组合,如果是在中线以下,就是两倍的前一个状态加上向上迁移之后的前一个状态,写出递推公式,可以求解代码:#include#inclu

2017-07-30 08:20:37 171

空空如也

空空如也

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

TA关注的人

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