![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
HelloWorld_EE
这个作者很懒,什么都没留下…
展开
-
sizeof(数组名)和sizeof(指针名)的结果是不同的
数组和指针的sizeof的结果 是不同的 当arr是一个数组时,sizeof(arr)的结果是整个数组中的元素所占的字节的个数 而当p是一个指针时,即使指向某个数组,但sizeof(p)的结果在32为系统中一定是 4 验证代码如下:/*数组和指针的sizeof的结果 是不同的 当arr是一个数组时,sizeof(arr)的结果是整个数组所占的字节的个数而当p是一个指针时,原创 2015-08-30 18:35:27 · 1876 阅读 · 0 评论 -
《剑指Offer》面试题:从上往下打印出二叉树的每个节点
/* 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行一个整数n(1<=n<=1000, :n代表将要输入的二叉树元素的个数(节点从1开始编号)。接下来一行有n个数字,代表第i个二叉树节点的元素的值。接下来有n行,每行有一个字母Ci。 Ci=’d’表示第i个节点有两子孩子,紧接着是左孩子编号和右孩子原创 2015-09-21 21:58:47 · 1251 阅读 · 0 评论 -
《剑指Offer》面试题:实现O(1)获取min的栈
题目 题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 除了有push和pop操作外,还有一个min函数返回栈中的最小值, push,pop和min函数的时间复杂度都要为O(1)。思路 push和pop操作很明显就是O(1)的时间复杂度,关键是min函数,一般来说,我们求栈中的最小值,会从栈顶开始遍历栈,并设置一个变量Min来保存每次遍历时的最原创 2015-09-21 19:53:24 · 1340 阅读 · 0 评论 -
《剑指Offer》面试题:从上往下打印出二叉树的每个节点
/* 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行一个整数n(1<=n<=1000, :n代表将要输入的二叉树元素的个数(节点从1开始编号)。接下来一行有n个数字,代表第i个二叉树节点的元素的值。接下来有n行,每行有一个字母Ci。 Ci=’d’表示第i个节点有两子孩子,紧接着是左孩子编号和右孩子原创 2015-09-21 22:05:33 · 827 阅读 · 0 评论 -
《剑指Offer》面试题:栈的压入弹出序列是否匹配
题目 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。 例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。思路:如何来判断一个序列是否为另外一个序列的弹出序列。 判定方法如下: 如果第二个序列中当原创 2015-09-21 20:49:36 · 1760 阅读 · 0 评论 -
《剑指offer》面试题:顺时针打印矩阵
题目和要求看下面的说明/*题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵:1 2 3 45 6 7 89 10 11 1213 14 15 16则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行包括两个整数m和n(1<=m,n<=10原创 2015-09-20 22:00:10 · 817 阅读 · 0 评论 -
《剑指Offer》面试题:二叉树的镜像
题目:二叉树的镜像 在完成此题目时,具体的测试要求见下面。先说下完成此题目的感受:刚开始在《剑指Offer》这本书上看到这个题目的时候,感觉这个题目比较简单:就是将二叉树中的非叶子节点的左节点和右节点进行交换即可,但是从编码实现来看,有如下几个问题需要我们额外注意 1)用什么样的数据结构来保存树的节点是需要我们考虑的:采用数组来作为保存二叉树节点的数据结构 2)算法的实现好写,但是测试代原创 2015-09-20 20:01:04 · 582 阅读 · 0 评论 -
《剑指Offer》面试题:对字符串进行循环左移
题目 /* 题目描述: 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。 对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。 输入: 多组测试数据,每个测试数据包含一个字符序列S和非负整数K。其中S的长度原创 2015-09-12 21:37:47 · 1682 阅读 · 0 评论 -
《剑指Offer》面试题:员工的年龄进行排序
题目 题目:对公司所有员工的年龄进行排序,公司总共有几万名员工,要求时间复杂度为O(n)。此题比较简单,思路如下 很明显的计数排序题目,员工的年龄肯定在一个范围之内, ,这样就可以开辟一个长度为100的数组(我们这里假设在0-99之内),保存各个年龄的员工的个数,然后输出即可。实现代码也比较简单,如下/**/#include<stdio.h>#include<stdlib.h>原创 2015-09-12 20:43:33 · 1031 阅读 · 0 评论 -
《剑指Offer》面试题:统计一个数字在排序数组中出现的次数
题目 题目描述: 统计一个数字在排序数组中出现的次数。 输入: 每个测试案例包括两行: 第一行有1个整数n,表示数组的大小。1<=n <= 10^6。 第二行有n个整数,表示数组元素,每个元素均为int。 第三行有1个整数m,表示接下来有m次查询。1<=m<=10^3。 下面有m行,每行有一个整数k,表示要查询的数。 输出: 对应每个测试案例原创 2015-09-12 22:23:12 · 2239 阅读 · 0 评论 -
《剑指Offer》面试题:旋转数组的最小数字
/*题8:旋转数组的最小数字 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1. 题目的意思就是要求我们找旋转数组的中的最小值。只是数组不是一般的随机数组,而是一个递增排序的数组的一个旋转一般思路:如果是在一个一般的随机数组中寻找原创 2015-09-12 20:12:33 · 577 阅读 · 0 评论 -
scanf("%d\n",&num)中的\n是很特别的
这是上篇博文(http://blog.csdn.net/u010412719/article/details/48324799)中遇到的问题,详细原因明天再总结,总之,因为自己这样写了,花了很长时间才把这个bug调通。在scanf里 \n 很特别的,不是要求输入一个回车换行引用一下别人的说法: 过滤空格、制表符、回车等输入,也就是说 scanf(“%d\n”, &i); printf(“%d\原创 2015-09-09 22:38:04 · 5193 阅读 · 2 评论 -
《剑指Offer》面试题:丑数
题目 题目描述: 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 输入: 输入包括一个整数N(1<=N<=1500)。 输出: 可能有多组测试数据,对于每组数据, 输出第N个丑数。 样例输入: 3 样例输出原创 2015-09-09 22:28:01 · 1262 阅读 · 0 评论 -
《剑指Offer》面试题:翻转单词顺序
题目 翻转单词顺序; 例如输入:“student. a am I” 则输出 “I am a student.”思路:先翻转整个字符串,然后再翻转每个单词 实现代码如下:/*输入:每个测试案例为一行,表示一句英文句子。我们保证一个句子的单词数不会超过600,每个单词的长度也不会超过30。但是需要注意的是Fish是个不拘小节的人,有时候两个单词中间可能会有很多空格。为了方便起见原创 2015-09-09 20:41:02 · 713 阅读 · 0 评论 -
《剑指Offer》面试题:数值的整数次方
题目 面试题11:数值的整数次方 题目:实现函数double Power(double base,int exponent), 求base的exponent次方,不得使用库函数,同时不需要考虑大数问题/*面试题11:数值的整数次方 题目:实现函数double Power(double base,int exponent), 求base的exponent次方,不得使用库函数原创 2015-08-31 20:34:26 · 890 阅读 · 0 评论 -
《剑指Offer》面试题:将字符串转换为整数
题目 题目:把字符串转化为整数 ,若输入无效,则返回0且将标志位设为true自己以前在一些书上面看到过关于 字符串转化为整数的例子,心中有点印象,知道要考虑一些特殊情况。今天决定写下这段代码,发现代码写的稀烂,重复度太大,需要改善。刚实现的代码如下:/*题目:把字符串转化为整数 ,若输入无效,则返回0且将标志位设为true; 需要考虑的测试用例如下:1)"123"2)"+123" /原创 2015-08-30 20:02:32 · 3336 阅读 · 0 评论 -
变量声明和定义的区别
变量声明和定义的区别我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下:(望我的指点对你受益)变量的声明有两种情况:1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。 2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的转载 2016-06-24 11:24:17 · 1359 阅读 · 0 评论