自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 左旋向量或字符串

问题描述:将一个n元一维向量或者字符串向左旋转i个位置。例如,当n=8且i=3时,abcdefgh 旋转为 defghabc。 方法1:将前i个元素储存在临时数组中,将剩下的n-i个元素向左移动i个位置。此方法的缺点是产生过大的存储空间消耗。 代码如下: #include using namespace std; void rotateArray1(string &v, int

2015-03-19 20:15:36 373

原创 约瑟夫环问题

问题描述:有n个人坐成一圈,编号为1到n,从编号为1的人开始传递热马铃薯。m次传递之后,持有热马铃薯的人退出游戏,圈缩小,然后游戏从退出人下面的人开始,继续进行。最终留下来的人获胜。这样,如果m=0,n=5,那么参加游戏的人依次推出,5号获胜。如果m=1,n=5,那么退出的顺序是2、4、1、5。 方法1:使用循环链表的数据结构来解决。 代码如下:

2015-03-16 17:03:38 357

原创 N皇后问题

问题描述:在一个N * N的棋盘中放置N个皇后,使得每个皇后都不在同一行、同一列和同一斜线上,总共有多少种放置方法。 思路:遍历棋盘的每一行,在该行中遍历列来寻找合适的位置放置皇后。如果找到合适的位置,放置皇后之后,跳到下一行。否则,回溯到上一行,找到该行下一个合适的列来放置皇后,再往下遍历。 在编程的具体实现中,可以用二维数组或一维数组两种方式来表示棋盘的行和列,回溯法也有递归和非递归(即迭

2015-03-14 16:59:10 306

原创 Longest Common Prefix

Write a function to find the longest common prefix string amongst an array of strings. 思路:        遍历字符串数组,维护一个字符串prefix,与数组中的每个字符串相比较,来保存最长前缀。 代码如下: class Solution { public: string longestComm

2015-01-23 10:29:16 310

原创 Roman to Integer

Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 to 3999.   思路:         总共有7个基本的罗马数字字符,其它数字可以通过这些字符组合得到,如 IV 大小为4,可以看成是 V - I,VI 大小为6,可以看成是 V + I

2015-01-21 22:15:42 383

原创 Integer to Roman

Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 to 3999.   方法1:列出整数的个位、十位、百位和千位的0~9各自对应的罗马数字字符,并将这些字符合并。 代码如下: class Solution { public: string

2015-01-01 16:58:01 238

原创 Regular Expression Matching

Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element.   The matching should cover the entire in

2014-12-30 20:50:58 249

原创 Palindrome Number

Determine whether an integer is a palindrome. Do this without extra space. 方法1: 用另一个 int 保存与原整数顺序相反的数,再判断两个整数是否相等。 代码如下: class Solution { public: bool isPalindrome(int x) { if(x < 0)

2014-12-22 14:58:25 246

原创 Longest Palindromic Substring

Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring. 方法1:用两个下标 i 和 j 追踪每个重复子

2014-12-22 00:38:40 234

原创 String to Integer (atoi)

注意事项: (1)当字符串中没有数字时,返回0; (2)由字符串转化而来的数字可能超出 int 的取值范围,故结果应该用 long long 类型来保存,当超出int取值范围时,返回 INT_MAX 或 INT_MIN; (3)字符串中开头可能有一个或多个空格符; (4)字符串中可能有 '+','-' 符号。 代码如下:   class Solution { public:

2014-12-11 22:34:40 249

原创 Reverse Integer

Reverse digits of an integer. Example1: x =  123, return  321 Example2: x = -123, return -321   题意:将一个整数的位数顺序相反。 思路:先确定整数的正负,记录下来,并将负的转化为正的,再用%10取余,先得到较低的位数,在取下一位之前乘以10,最终可得到所需的整数。 注意事项:reverse

2014-12-10 19:37:19 250

原创 ZigZag Conversion

The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) P A H N A P L S I I

2014-12-06 22:19:25 233

原创 用邻接链表实现BFS算法和DFS算法

代码如下: Link_Graph.h文件: /*-------------------------------------------- 用邻接链表来表示图,并实现广度优先搜索算法 和深度优先搜索算法 --------------------------------------------*/ #ifndef LINK_GRAPH_H #define LINK_GRAPH_H #includ

2014-12-04 14:32:54 777

原创 const iterator 和 const_iterator 的区别

1、const iterator是指iterator本身是const的,即不能修改迭代器iterator的值(如自增it++、遍历容器等操作),但是可以修改iterator所指向的容器元素的值。 2、const_iterator是只读迭代器,即const_iterator只能遍历容器、读取它所指向的容器元素的值,它本身的值可以修改,但是不能修改它所指向的容器元素的值。const_iterator

2014-12-03 20:53:30 325

原创 Longest Substring Without Repeating Characters

方法1:动态规划        遍历字符串到下标i时,若s[i]在以下标i-1的不重复子串中重复出现,则找到其位置j,当前不重复子串的长度dp为i-j。若没有重复出现,则当前不重复子串长度为上一个不重复子串长度加1。 int lengthOfLongestSubstring(string s) { int dp = 1; /*不重复子串的长度*/ int last_st

2014-12-03 14:35:13 238

原创 Add Two Numbers

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode *ad

2014-11-30 22:13:13 241

原创 第18章 B树的创建、搜索和插入

/*--------------------------------------- B树的创建和插入 ---------------------------------------*/ #include #include #define t 2 //B树的度 using namespace std; /*------------------------------

2014-11-28 12:31:17 341

原创 Median of Two Sorted Arrays

题目如下: There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)) 1.我首先想到的是先把两个数组用归并排序,组合成一个数组,

2014-11-26 22:10:37 232

原创 第17章 二进制计数器递增代码

#include using namespace std; /*a[]保存二进制数的每一个位,每调用一次,二进制数加1*/ void increment(int a[], int n) { int i = 0; while(i < n && a[i] == 1) { a[i] = 0; i++; } if(i < n) { a[i] = 1; } } /*测试程序*

2014-11-25 18:46:35 885

空空如也

空空如也

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

TA关注的人

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