自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 字节对齐(struct 和 union)

在没有#pragma pack宏的情况下,字节对齐应遵循以下三个基本原则:1、数据成员对齐规则:结构体(struct)或联合(union)的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数倍开始。2、结构体作为成员:如果一个结构里有某些结构体成员,则结构体成员要从其内部最大元素大小的整数倍地址开始存储。3、收尾工作:结构

2015-11-29 12:44:36 862

原创 迅雷2016研发工程师笔试题

以下关于指针的说法,正确的是()A int *const p与int const *p等价B const int *p与int *const p等价C const int *p与int const *p等价D int *p[10]与int (*p)[10]等价答案:C解析:A项前者表明指针变量p是const

2015-11-28 16:50:24 1012

原创 剑指offer:复杂链表的复制

题目描述:输入一个复杂链表,每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点(可能为NULL),求输出复杂链表的拷贝(返回拷贝链表的头结点即可)思路:一般复制一个简单链表就这么遍历一遍就好了,这个复杂链表,比简单链表多的地方就在于多了一个random的指针,也就是说在建立完简单链表之后,如何在新的链表中找到random对应的地址。我们已知的是旧的节点

2015-11-20 16:15:23 468

原创 剑指offer:二叉树中和为某一值的路径

题目描述:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(N

2015-11-18 22:51:16 346

原创 剑指offer:二叉搜索树的后序遍历序列

题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果,如果是则输出Yes,否则输出No(假设输入的数组的任意两个数字都互不相同)class Solution {public: bool Verify(vector seq) { int len = seq.size(); if(!len || len =

2015-11-17 21:10:57 350

原创 观《绣春刀》后作

观罢有感,非是影评。英主年少兼勇武,一朝魏阉入罪罟。五虎十孩皆奔散,夕贬凤阳守陵主。凤阳未必肯安身,天公犹恨阻急雨。上意不甘忽逮治,流贼喝问来者谁。脱衣掷地敢轻试,雨滴刀背声澌澌。鱼服绣春初纵横,十步一人不留行。尔曹身名皆在我,兔走天上落鶻鹰。奈何敌势仍余烈,重赏不能尽所灭。上楼擒得一人首,便是功成向帝阙。白刃指向俎上颈,求命新鼓好唇舌。茵溷从来有意偏,荣辱只在顾盼间。莫道钱财如粪土,

2015-11-17 13:57:24 748

原创 剑指offer:树的子结构

题目描述:输入两颗二叉树A,B,判断B是不是A的子结构/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/cla

2015-11-17 12:03:54 378

原创 剑指offer:顺时针打印矩阵

题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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这道题如果跟着每个数字一个一个打印将会很麻烦,下标的频繁变换肯定会把自己绕晕,其实这道题有个相对简单一些的方法,就像

2015-11-17 11:44:09 407

原创 剑指offer:包含min函数的栈

题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数class Solution {public: stack s, mn; void push(int value) { s.push(value); if(mn.empty()) mn.push(value); el

2015-11-17 11:20:50 413

原创 剑指offer:栈的压入、弹出序列

题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列这道题考察的是STL中的栈,与ZOJ上的火车进站问题一样。class Solution {public:

2015-11-17 11:12:03 310

原创 剑指offer:从上往下打印二叉树

这道题明显是广度优先,一看就知道是用队列这种数据结构,其实不用STL的队列也可以做,那就是要多加一个变量来记录树的深度,应该会比用队列麻烦,在这里直接“拿来主义”了。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) :

2015-11-17 10:45:35 384

原创 分解质因数

#include #include #include using namespace std;bool isPrime(int n){ for(int i = 2; i <= (int)sqrt(n); i++) { if(n % i == 0) return false; } return true;}i

2015-11-07 12:43:40 384

原创 求平方根

#include #include #include #define E 1e-11using namespace std;int main(){ double a; cin>>a; double x0, x1; x0 = a / 2.0; while(1) { x1 = 0.5 * (a + x0 * x0) /

2015-11-06 15:27:10 466

原创 最少钱币数

这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了6种钱币面值为2、5、10、20、50、100,用来凑15元,可以用5个2元、1个5元,或者3个5元,或者1个5元、1个10元,等等。显然,最少需要2个钱币才能凑成15元。 你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。#inc

2015-11-06 12:37:14 635

空空如也

空空如也

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

TA关注的人

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