自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 数组中出现次数超过一半的数字

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。public class Solution { public int Mor...

2016-08-17 15:12:00 78

转载 字符串的排列

输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。//大体的思路是这...

2016-08-17 15:05:00 103

转载 二叉搜索树与双向链表

输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNo...

2016-08-17 12:58:00 73

转载 二叉树中和为某一值的路径

输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。public class Solution { public ArrayList<ArrayList<Integer>> ...

2016-08-17 11:46:00 72

转载 二叉搜索树的后序遍历序列

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。//大致的思路就是在分割点前后的分别是小于以及大于pivot的public class Solution { public boolean ...

2016-08-17 11:21:00 85

转载 栈的压入、弹出序列

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相...

2016-08-17 11:11:00 68

转载 顺时针打印矩阵

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.注意一些细节即可,代码如下:...

2016-08-17 10:29:00 73

转载 树的子结构

输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)代码如下:class Solution {public: bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2) { if(p...

2016-08-17 10:06:00 53

转载 链表中倒数第k个结点

输入一个链表,输出该链表中倒数第k个结点。注意需要考虑到链表的长度小于K的值:AC答案如下:class Solution {public: ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { ...

2016-08-17 09:51:00 56

转载 调整数组顺序使奇数位于偶数前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。现在的这种是最笨的方法,代码如下:class Solution {public: void reOrde...

2016-08-17 09:23:00 51

转载 硬币表示

有数量不限的硬币,币值为25分、10分、5分和1分,请编写代码计算n分有几种表示法。给定一个int n,请返回n分有几种表示法。保证n小于等于100000,为了防止溢出,请将答案Mod 1000000007。测试样例: 6 返回:2class Coins {public: ...

2016-08-16 10:52:00 74

转载 合法括号

给一个数字n,给出所有的n个左右括号组成的可用组合:输入:2 输出:(()),()()递归,左括号个数大于右括号可以继续增加,如果少于那么说明组合错误,停止递归,代码如下:public class AddParen { public ArrayList<String&g...

2016-08-16 10:00:00 80

转载 字符串排列

编写一个方法,确定某字符串的所有排列组合。给定一个string A和一个int n,代表字符串和其长度,请返回所有该字符串字符的排列,保证字符串长度小于等于11且字符串中字符均为大写英文字符,排列中的字符串字典序从大到小排序。(不合并重复字符串)测试样例:"ABC" 返回:["CBA",...

2016-08-16 09:22:00 143

转载 字符串排列

编写一个方法,确定某字符串的所有排列组合。给定一个string A和一个int n,代表字符串和其长度,请返回所有该字符串字符的排列,保证字符串长度小于等于11且字符串中字符均为大写英文字符,排列中的字符串字典序从大到小排序。(不合并重复字符串)测试样例:"ABC" 返回:["CBA",...

2016-08-16 09:22:00 85

转载 Subsets

请编写一个方法,返回某集合的所有非空子集。给定一个int数组A和数组的大小int n,请返回A的所有非空子集。保证A的元素个数小于等于20,且元素互异。各子集内部从大到小排序,子集之间字典逆序排序,见样例。测试样例:[123,456,789] 返回:{[789,456,123],[78...

2016-08-15 23:25:00 67

转载 魔术索引II

在数组A[0..n-1]中,有所谓的魔术索引,满足条件A[i]=i。给定一个不下降序列,元素值可能相同,编写一个方法,判断在数组A中是否存在魔术索引。请思考一种复杂度优于o(n)的方法。给定一个int数组A和int n代表数组大小,请返回一个bool,代表是否存在魔术索引。测试例子如下所...

2016-08-15 20:30:00 67

转载 魔术索引I

在数组A[0..n-1]中,有所谓的魔术索引,满足条件A[i]=i。给定一个升序数组,元素值各不相同,编写一个方法,判断在数组A中是否存在魔术索引。请思考一种复杂度优于o(n)的方法。给定一个int数组A和int n代表数组大小,请返回一个bool,代表是否存在魔术索引。测试样例:[1,2...

2016-08-15 19:59:00 84

转载 第k个数

有一些数的素因子只有3、5、7,请设计一个算法,找出其中的第k个数。给定一个数int k,请返回第k个数。保证k小于等于100。测试样例:3 返回:7import java.util.*;public class KthNumber { public int findKth...

2016-08-15 19:16:00 127

转载 最接近的数

有一个正整数,请找出其二进制表示中1的个数相同、且大小最接近的那两个数。(一个略大,一个略小)给定正整数int x,请返回一个vector,代表所求的两个数(小的在前)。保证答案存在。测试样例:2返回:[1,4]根据《程序员面试金典》上的位算数解法写的。c01是拖尾0的...

2016-08-12 22:39:00 236

转载 中序遍历的后继

请设计一个算法,寻找二叉树中指定结点的下一个结点(即中序遍历的后继)。给定树的根结点指针TreeNode* root和结点的值int p,请返回值为p的结点的后继结点的值。保证结点的值大于等于零小于等于100000且没有重复值,若不存在后继返回-1。递归方法,比较抽象,但是也比较简介,代...

2016-08-12 20:15:00 458

转载 检查是否为BST

请实现一个函数,检查一棵二叉树是否为二叉查找树。给定树的根结点指针TreeNode* root,请返回一个bool,代表该树是否为二叉查找树。一般可以有两种,都贴出来:/*struct TreeNode { int val; struct TreeNode *left...

2016-08-12 19:16:00 101

转载 输出单层结点

对于一棵二叉树,请设计一个算法,创建含有某一深度上所有结点的链表。给定二叉树的根结点指针TreeNode* root,以及链表上结点的深度,请返回一个链表ListNode,代表该深度上所有结点的值,请遵循树上从左往右的顺序链接,保证深度不超过树的高度,树上结点的值为非负整数且不超过1000...

2016-08-12 13:22:00 48

转载 输出单层结点

对于一棵二叉树,请设计一个算法,创建含有某一深度上所有结点的链表。给定二叉树的根结点指针TreeNode* root,以及链表上结点的深度,请返回一个链表ListNode,代表该深度上所有结点的值,请遵循树上从左往右的顺序链接,保证深度不超过树的高度,树上结点的值为非负整数且不超过1000...

2016-08-12 13:22:00 54

转载 猫狗收容所

有家动物收容所只收留猫和狗,但有特殊的收养规则,收养人有两种收养方式,第一种为直接收养所有动物中最早进入收容所的,第二种为选择收养的动物类型(猫或狗),并收养该种动物中最早进入收容所的。给定一个操作序列int[][2] ope(C++中为vector<vector<int&gt...

2016-08-12 11:24:00 250

转载 流迭代器的一些作用

流迭代器一般有下面的几种作用: //利用流迭代器填充vector { ifstream in("test.txt"); istream_iterator<string> ibegin(in); ist...

2016-08-07 15:18:00 157

转载 学会使用makefile:2

前面一篇介绍的makefile只是较为简单普通的写法,还是有很多改进的余地的。例如依赖不一定要写在一条规则中,也可以拆开写,例如: main.o: main.h stack.h maze.hmain.o: main.c gcc -c main.c 这么一来上面的例子可以该...

2016-08-07 15:17:00 58

转载 学会使用makefile:4

这里主要介绍一下如何处理编译文件以来的问题: main.o: main.h stack.h maze.hstack.o: stack.h main.hmaze.o: maze.h main.h 可见上面几个文件都依赖与几个头文件,实际上自己一个一个动手去写会比较麻烦,而且还容易弄错...

2016-08-07 15:17:00 60

转载 学会使用makefile:3

前面写的makefile的相关只是都没有使用到变量,依照变量,makefile可以使用的非常多变。 foo = $(bar)bar = Huh?all: @echo $(foo) 上面这个例子执行 make 将会打出 Huh?当 make 读到 foo = $(bar) ...

2016-08-07 15:17:00 59

转载 学会使用makefile:5

下面就是介绍一下简单的常用的makefile指令: -n选项会答应出执行指令执行的顺序,但是不会真的去执行这个指令,这有助于确保某个指令的顺序执行的是正确的 -C选项可以切换到另一个目录下执行那个目录下的makefile,例如可以用于退回到上一层去执行当前层的makefile: cd ....

2016-08-07 15:17:00 79

转载 学会使用makefile:1

假设有下面几个文件: maze.hmaze.cmain.hmain.cstack.hstack.c 最简单的编译方法当然就是 gcc maze.c stack.c main.c -o main 但是这个方法不好,当对maze.c做了一点点的修改之后就要重新编译那些没...

2016-08-07 15:17:00 60

空空如也

空空如也

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

TA关注的人

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