自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode之路021 Merge Two Sorted Lists

题目大意:合并两个有序的链表为一个新链表,新链表必须是原来两个链表元素的组成。即不能新建一个链表,找到两个链表中的小值,新建一个节点对其赋值为此值。也就是说,不能有新建节点的操作(准确点说是能新建,但不能让结果链表指向这个节点)。思路:1、两个指针分别指向两个链表首,比较链表首的大小,若不满足l1->val>=l2->val,则交换两个链表。之所以这样做,是要将所有元素排序的结果接到l1为

2015-07-31 20:25:57 417

原创 leetcode之路020 Valid Parentheses

题目大意:给定一个字符串,只包含'(', ')', '{', '}', '[' ,']'要求判断yige

2015-07-31 20:25:21 489

原创 leetcode之路019 Remove Nth Node From End of List

题目大意:从一个链表中删除第n个元素。如: Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the linked list becomes 1->2->3->5.注意:n总是有效的,而且要在一趟内完成。思路:相差n个,只能访问一趟

2015-07-30 19:22:45 393

原创 leetcode之路017 Letter Combinations of a Phone Number

题目大意:给定一个数字的字符串,返回所有的有数字代表的字母组合。例:Input:Digit string "23"Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].思路:1、用一个字符串数组表示每个数字代表的字母,对输入的第一个数字,直接将此数字代表的所有字母加入到结果resu中;2、

2015-07-30 19:19:49 527

原创 leetcode之路014 Longest Common Prefix

题目大意:找到一个字符串数组的最大公共前缀字符。挺简单的一个题,求解如下。思路:对第一个第二个字符串,找到最长前缀为te,然后找te和第三个的最长前缀,依次循环到最后即可。循环中加入判断te是否为空,若为空直接返回空。提交ac的代码如下,运行时间8ms:class Solution {public: string longestCommonPrefix(vector& str

2015-07-29 23:35:06 429

原创 leetcode之路013 Roman to Integer

#include "stdafx.h"#include#include#include#include#includeusing namespace std;class Solution {public: int romanToInt(string s) { unordered_map map; map['I']=1;map['V']=5;map['X

2015-07-29 23:32:01 437

原创 leetcode之路012 Integer to Roman

题目大意:将整数转化为罗马形式表示,输入为1-3999。对照表:基本字符IVXLCDM相应的阿拉伯数字表示为1510501005001000思路:1、用map记

2015-07-28 20:56:58 479

原创 leetcode之路011 Container With Most Water

题目大意:给定n个非负的整数a1,a2...ai,每个点表示一个坐标(i,ai),从坐标轴上画n条直线,分别是连接(i,0)和(i,ai)的。其中任意两条直线看成一个容器,向里面装水,现在要找到所有容器中能容纳的水最多为多少。意思是两条直线,一个高位h1,另一个为h2,装水的高度最多为h1。思路一:直接遍历求解,复杂度O(n^2)对每一条直线,求出它和其它所有直线所构成容器的盛水大小m

2015-07-28 20:53:42 632

原创 leetcode之路009 Palindrome Number

public:    bool isPalindrome(int x) {    if(x<0) return false; else if(x<10) return true; int m=x/10,n=1; while(m) { m=m/10; n=n*10; } while(x>0) { if

2015-07-27 10:02:35 539

原创 leetcode之路008 String to Integer (atoi)

题目大意:实现atoi的功能,把一个字符串转化为整数。首先的考虑所有的情况,有以下:1、字符串为空,返回0;2、字符串中含有‘ ’空格字符,则需要跳过所有空格;3、考虑符号问题,‘-’和‘+’,最开始自己就没想到‘+’也要考虑;4、然后必须为数字0-9,如果不为数字,则返回前面已经确定的值。例:“-123a87”,返回的是-123,而不是直接返回错误的值,这这也是最开始完全没想

2015-07-26 21:02:54 579

原创 leetcode之路007 Reverse Integer

题目大意:翻转一个整数,如下:Example1: x = 123, return 321Example2: x = -123, return -321需要注意的是,int整数范围为-2^31 ~ 2^31 - 1,10,0000,00003翻转后会超出范围。刚开始没注意到这个问题,因此出错了好几次,最后提交ac的代码如下,运算时间20ms:class Solutio

2015-07-26 19:15:48 701

原创 leetcode之路006 ZigZag Conversion

题目大意:给定一个以之字形形式存储的字符串,并且给定之字形的行数,如下,行数为3,给定的string为"PAYPALISHIRING"P A H NA P L S I I GY I R然后现在一行一行的读取其值,得到"PAHNAPLSIIGYIR"现在给定一个字符串s和行数numRows,输出其转换后的字符串。首先考虑边界条件:s的长度小于行数,则直

2015-07-26 16:37:03 507

原创 leetcode之路005 Longest Palindromic Substring

#include "stdafx.h"#include#include#include #include using namespace std;class Solution {public:    string longestPalindrome(string s) {        int i,j;int max=0,len=0;string

2015-07-26 13:16:16 582

转载 c++中string类的用法详解

最近刷代码,发现string用得太多了,好多用法不知道,自己琢磨,导致了许多错误。转载一个较全的介绍,学习一下。标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用。现将具体用法的一部分罗列如下,只起一个抛砖引玉的作用吧,好了,废话少说,直接进入正题吧!要想使用标准C++中string类,必须要包含#include // 注意是,不是,带.h的是C语言中

2015-07-26 12:44:57 632

原创 leetcode之路004 Median of Two Sorted Arrays

题目大意:有两个已排序的数组nums1和nums2,长度分别为m和n,找到两个排序数组合成数组的均值。要求时间复杂度必须为O(log(m+n))。这个题显示的难度为hard,在理解题意时,忘记了中位数的定义,编写的时候纠结了好长一段时间。对一个排序数组,数组个数为奇数,中位数为中间元素的值,数组个数为偶数,中位数为中间两个元素的均值。好了,下面说下思路。思路:1、要找中位数,必

2015-07-25 22:34:48 674

原创 leetcode之路003 Longest Substring Without Repeating Characters

题目大意:很好理解,求最长的没有重复元素的子串的长度,例如:“abcabcbb”结果是abc,长度3,“bbbbb”结果时b,长度1.思路:用hash_map做的,因为每次找下一个字符时,都需要从前面的子串中进行查找操作,利用hash_map达到快速查找。因为不需要要排序操作,因此程序中是用的unordered_map。1.令最长的无重复子串长度为max,i从0循环到字符串长度减去max

2015-07-24 19:49:49 772

原创 使用unordered_map编译报#error This file requires compiler and library support

最近常用到unordered_map,但是我发现这个库在vc6中不能用,无赖只好换成vs2012,测试可以用。然而,我在linux下用g++编译时,出现了以下错误:In file included from /usr/include/c++/4.8/unordered_map:35:0,                 from cul.cc:3:/usr/include/c++/4.

2015-07-24 13:22:58 12022 1

原创 leetcode之路002 Add Two Numbers

Add Two Numbers题目大意:用两个链表来代表两个非负的数,这两个数是逆序存在链表中的,并且每一个点中只存放一位数字,现在要加两个数字,用一个此格式的链表来存储并返回。例:Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)Output: 7 -> 0 -> 8题目有点难理解,刚开始一位只是对应位单纯的相加,然后留下个位数。但上述例子中却不满足

2015-07-23 22:14:29 1200

原创 leetcode之路001 Two Sum

一、Two Sum给定一个整数的数组,让你找到两个数,使得他们的和为特定的一个数。返回这两个数的下标值,并且第一个必须小于第二个。题目假定对于特定的数,此数组总可以找到满足要求的数。例:Input: numbers={2, 7, 11, 15}, target=9Output: index1=1, index2=2自己的思路:1、对于一个排序的数组,这个问题就变得很

2015-07-23 21:05:01 3513

原创 一道汉诺塔的题目变形求解

今天在看算法题目时,做了一个汉诺塔的题目,描述如下:对于传统的汉诺塔游戏我们做一个拓展,我们有从大到小放置的n个圆盘,开始时所有圆盘都放在左边的柱子上,按照汉诺塔游戏的要求我们要把所有的圆盘都移到右边的柱子上,请实现一个函数打印最优移动轨迹。给定一个int n,表示有n个圆盘。请返回一个string数组,其中的元素依次为每次移动的描述。描述格式为: move from [lef

2015-07-22 22:36:43 2273

原创 引用作为函数返回值(对函数赋值)

今天在看STL的RB-tree时,发现了一个很奇怪的赋值方式,形式如下:root() = 0; leftmost() = _M_header; rightmost() = _M_header; 这三个函数原型为:link _type& root() const { return (link _type&) header->parent; }link _type& leftmost() c

2015-07-11 08:43:43 3704

原创 Linux下su命令用法

一。su和su - 有很大区别。

2015-07-10 13:20:49 1170

转载 STL源码系列--List::sort算法解析

看到《STL源码剖析》中list内置sort的算法,注释说是快速排序,在网上找了快速排序的非递归实现,发现完全不同,后面网上查找,发现了下面两种比较合理的解释,记录如下。一.解析一转载自:http://blog.csdn.net/yihucha166/article/details/6544039stl中的list 是双向链表结构,最近用到其中的sort方法,文档中

2015-07-08 22:50:31 615

转载 ubuntu文件系统结构讲解

看了鸟哥的linux教程,学习了linux的文件系统和目录树,发现太难记忆了,因此在网上找了相关介绍转载在博客,以备经常学习。1. 文件系统类型windows中常见的磁盘格式有fat16、fat32和ntfs。windows是一个封闭的系统。无法打开ext3或者mac 日志式。在ubuntu中其文件系统广泛使用ext3(ext4是ext3的扩展)的文件格式,从而实现了将

2015-07-08 15:19:12 544

原创 POJ之路13-POJ2388

一、poj2388求取中位数,即排序然后输出中间的数即可。一次ac的代码如下://79ms#include#include#includeusing namespace std;int main(){// ifstream cin("data.txt"); int n,i; int a[10001]; cin>>n; for(i=0;i<n;i++) { ci

2015-07-04 13:36:51 479

原创 POJ之路12--3080,1936

一、3080字符串类型的题目,直接暴力搜索的,为了方便,直接利用的string类型来处理。思路是:对m个string,首先,将str[0]与str[1]匹配找到最大的共同序列,seq_temp, 然后查找seg_temp和str[2]的最大共同序列,seq_temp1,依次继续下去,找到seq_temp和最后一个str的共同序列,此即结果字符串。编译测试后的第一版代码,提交时出现超出内

2015-07-04 11:33:06 384

空空如也

空空如也

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

TA关注的人

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