笔试面试准备
ahnselina
这个作者很懒,什么都没留下…
展开
-
华为机试准备--练习(JAVA实现)
题1---- 选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打的分数,judge_type[] 里存储与 score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 = 专家评委平均分 *原创 2013-08-30 00:50:59 · 3160 阅读 · 0 评论 -
C语言中sizeof 与strlen 区别
C语言中sizeof 与strlen 区别 一.本质区别 sizeof 和strlen 有本质上的区别。sizeof 是C 语言的一种单目运算符(ahnselina注:sizeof是C语言的32个关键字之一,不要误把sizeof当函数啊!!),如++、--等,并不是函数,sizeof 的优先级为2 级,比/、% 等3 级运算符优先级高,sizeof以字节的形式给出操作数的存储空间的大转载 2013-09-20 12:46:55 · 1104 阅读 · 0 评论 -
线程与进程的区别
线程与进程的区别 进程概念 进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并发执转载 2013-09-20 18:24:18 · 1091 阅读 · 0 评论 -
关于fork()函数以及一个关于fork的笔试题
一、fork1. 调用方法#include #include pid_t fork(void);正确返回:在父进程中返回子进程的进程号,在子进程中返回0错误返回:-1 子进程是父进程的一个拷贝。即,子进程从父进程得到了数据段和堆栈段的拷贝,这些需要分配新的内存;而对于只读的代码段,通常使用共享内存的方式访问。fork返回后,子进程和父进程都从调用fork函数的转载 2013-09-20 18:20:52 · 1331 阅读 · 0 评论 -
关于大端模式与小端模式
先简单看下概念大端模式:在这种模式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中小端模式:与大端模式相反,在小端模式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节 端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big原创 2013-09-21 12:16:00 · 970 阅读 · 0 评论 -
关于int *ptr=(int *)(&a+1)问题的探讨
《C语言深度解剖》上看到这样一道有意思的题目,是关于数组与指针的问题,描述如下:main(){int a[5]={1,2,3,4,5};int *ptr=(int *)(&a+1);printf("%d,%d",*(a+1),*(ptr-1));}输出为:2,5请解释以上代码的输出结果。答案如下:*(a+1)其实很简单就是指a[1],输出为2.问题关键就原创 2013-09-21 11:10:53 · 4952 阅读 · 1 评论 -
归并排序
本文转自: 白话经典算法系列之五 归并排序的实现 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。转载 2013-09-21 21:28:21 · 780 阅读 · 0 评论 -
2013.9.24去哪儿网西安地区笔试第一题
题目是英文的,大致意思就是给一个字符串,中间有空格把字符串分割成多个单词,要求写一个函数返回一个字符串,该字符串由每个单词的首字母组成。 这道题应该是那几道编程题中最简单的,不过回来做的时候发现自己还是忽略了些细节o(╯□╰)o要考虑周全还是要多想想的,另外发现自己编程能力真是弱爆了TAT得好好加强啊。 我的答案如下,并不一定完全正确,也肯定不是最优解,希望伙伴们原创 2013-09-25 10:13:09 · 1405 阅读 · 9 评论 -
2014年计算机求职总结--准备篇
版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/13000431找工作是一个长期准备的过程,突击是没什么效果的。准备时间越长,准备就越充分,就越容易拿到好的offer。我基本上从研究生一入学就一直在准备找工作的东西,看书、研究研究笔试面试题、在线编程训练、参加实习招聘等等。当然,其实主要还是研二转载 2013-10-29 18:47:22 · 1304 阅读 · 0 评论 -
不是技术牛人,如何拿到国内IT巨头的Offer
不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰。看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技术屌丝的同学们,是否真的与国内IT巨头遥不可及呢?当你打开这个帖子的时候,我已经默认你是此文的目标读者,也就是想进入国内一流互联网企业的非牛人应届生。你不需要拿NOI的奖,无需是开源社区名人,转载 2013-10-30 12:33:53 · 929 阅读 · 0 评论 -
二叉树的前序遍历、中序遍历及后序遍历
二叉树的遍历也是很多企业笔试面试考查的一种题目,本文主要是简单回顾下这三种遍历方式的概念,然后列出一个出的很不错的二叉树遍历题目。前序、中序、后序遍历的特性: 前序遍历: 1.访问根节点 2.前序遍历左子树 3.前序遍历右子树 中序遍历: 1.中序遍历左子树 2.访问根节点 3.中序遍历右子树 后序遍历:原创 2013-09-20 22:00:08 · 2586 阅读 · 0 评论 -
全局变量与局部变量初始化问题
头文件:[cpp] view plaincopyprint?#ifndef FRIEND_H #define FRIEND_H struct X; struct Y{ void f(X*); }; struct X{ private : int i; public :转载 2013-11-20 08:51:30 · 1794 阅读 · 0 评论 -
C++引用与指针的区别
这几天看重温了下《高质量C/C++编程指南》和 《More Effective C++》对于里面的引用和指针觉得写得很精辟,同时在网上也找了些别人写的总结,引用过来大家分享下。 虽然使用引用和指针都可以间接访问另一个值,但他们之间有两个重要区别:引用总是指向某个对象,定义引用没有初始化是错误的。赋值行为的差异,给引用赋值修改的是该引用所关联的对象的值,而并不是使引用与转载 2013-11-23 11:45:28 · 944 阅读 · 0 评论 -
一个小程序题目
请问下面的程序正确吗?如果正确,它做了什么呢?如果不正确,说明理由,并把它改正确。#include #include int main(void){ { std::string s = "a string"; { std::string x = s + ". really"; std::cout << s << std::endl;} std::c原创 2013-11-13 16:29:31 · 707 阅读 · 0 评论 -
笔试面试中常见的排序算法
关于排序问题历来都是各大公司笔试面试必考的问题,本文的目的就是回顾一些笔试面试中常见的排序算法,希望能帮助自己也帮助大家迅速回忆起当初一起学过的那些排序算法^_^冒泡排序首先,介绍最简单的一个排序算法:冒泡排序算法。想必这个大家都很熟悉,也很简单。这里简单说一下其大体思路:假设数组长度为N。1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据原创 2013-09-17 15:56:45 · 1322 阅读 · 0 评论 -
问题11:双链表的相关操作
主要涉及双链表的建立、测长、打印、插入结点以及删除结点等。实际上跟单链表的操作差不多,只是要特别注意双链表多了指向前驱结点的指针,在写相关代码的时候要特别小心,别弄错了。代码如下:#include #include typedef struct student{ int data; struct student *next; struct student原创 2013-09-11 15:52:50 · 734 阅读 · 0 评论 -
问题3:如何用递归算法判断一个数组是否是递增?
本题要求使用递归的算法,设数组为a,则递归数组满足以下条件。(1) 如果数组长度为1,则该数组为递增,返回true。(2) 如果数组长度为n(n>=2),则先比较最后两个元素是否递增,如果最后两个元素递增,则再递归比较除去最后一个元素的前n-1个元素是否递增。具体代码如下:原创 2013-09-03 23:18:20 · 2592 阅读 · 2 评论 -
问题2:如何用一个for循环打印出一个二维数组?
一般情况下我们可以用两个for循环来打印出二维数组,代码如下:#include #define MAXX 2#define MAXY 3void print(){ int i, j; int array[MAXX][MAXY] = {1, 2, 3, 4, 5, 6}; for(i=0; i< MAXX; i++) for(j=0; j<MAX原创 2013-09-03 22:32:06 · 2500 阅读 · 0 评论 -
问题:如何用递归实现数组求和?
给定一个含有n个元素的整型数组a,求a中的所有元素的和。要是不要 求用递归求解,那么此题便非常容易了,下面是一种容易想到的方法:#include int main(void){ int a[] = {3, 7, 8, 2, 10}; int len = sizeof(a)/sizeof(a[0]); int i, sum = 0; for(i=0; i<len; i原创 2013-09-03 21:52:15 · 3394 阅读 · 1 评论 -
java中常见的关于String的题目
在看题目之前,首先来看一张图片:该图截自JDK API,相信大家已经看到我在图中用红色圈圈,圈出来的部分,对,String类是被定义为final的,是不可变类,本文不针对这点做过多阐述,有兴趣的可以参阅这篇文章:J2SE基础夯实系列之String字符串不可变的理解,不可变类,final关键字到底修饰了什么 下面看一些具体的问题:1.String s1 = "ab";原创 2013-09-10 11:09:24 · 1135 阅读 · 0 评论 -
华为机试准备--练习题(JAVA实现)
第一题 输入字符串长度len1,字符串s1,字符串长度len2,字符串s2。从后向前比较,以最短字符串为标准,输出不同的元素的个数。 例如: 输入:s1="1,3,5" len1=3 s2="2,4,1,7,5" len2=5 输出:2(个人倒是觉得这个例子中输出应该为1,不知道是不是我题意理解错了。。。知道的原创 2013-08-29 23:34:17 · 2222 阅读 · 0 评论 -
问题4:如何使用递归与非递归实现二分查找?
二分查找法也称为折半查找法,它的思想是每次都与序列的中间元素进行比较。二分查找的一个前提条件是数组是有序的。假设数组array为递增序列,findData为要找的数,n为数组长度,首先将n个元素分成个数大致相同的两半,取array[n/2]与要查找的值findData进行比较,如果findData等于array[n/2],则找到findData,算法结束;如果findDatafin原创 2013-09-04 16:29:21 · 756 阅读 · 0 评论 -
问题8:如何找出数组中重复次数最多的数?
一种方法是以空间换时间,可以定义一个数组 int count[MAX],并将其数组元素都初始化为0,然后执行for(int i=0; i 代码如下:#include //该函数的作用是获得数组中最大的数,并将该数首次出现的索引赋值给num保存int getMaxNum(int* arr, int len, int &num){ int index = arr原创 2013-09-04 23:02:52 · 3284 阅读 · 0 评论 -
问题5:如何在顺序数组中找到给定数字出现的次数
如何在排好序的数组中找到给定数字出现的次数?例如数组[1,2,2,2,3,3]中3出现的次数是2次。 该问题有一个非常容易想到的办法:设定一个计数器count开始为0,然后遍历数组,如果数值为3则count加1。不过这种办法没有用到该数组是有序数组的条件,不管有序无序都可以用该办法解决,且时间复杂度为O(n)。 方法一代码如下:#include int getC原创 2013-09-04 20:43:18 · 1183 阅读 · 0 评论 -
问题6: 找出字符串中出现次数最多的字母及其出现的次数
这好像是华为机试的一道题目,我采用JAVA来完成,用JAVA也可以用其他方法。我用一个比较简单的方法,代码如下:public class Str{ public static void main(String[] args){ String str = "sdasewdasdaeawfawerfadsdfasrfqwe"; int count = 0; ch原创 2013-09-04 22:46:03 · 5518 阅读 · 0 评论 -
问题12:单循环链表解决约瑟夫环问题
关于约瑟夫环这个问题,其实你只要一搜就能找到很多相关的文章。不过呢,我还是决定自己写一写就当锻炼自己^_^。问题描述:设有n个人(以1,2,3,……,n分别表示)围坐一圈,现从第k个人开始报数,数到m的人出列,接着从出列的下一个人开始重新报数,数到m的人又出列,如此下去,直到所有人都出列为止.按出列顺序输出. 建议小伙伴们都写一写,主要是自己写能加深印象,而且我看网上有几篇文原创 2013-09-11 22:27:13 · 2060 阅读 · 0 评论 -
内存中堆栈与数据结构中堆栈
内存中堆栈与数据结构中的堆栈,以前一直被这困扰着,不知道的时候还以为是同一个东西呢。等看一些资料后,发现原来二者并不是同一概念。现将一些特点记录如下,如有不正之处,还望看到的童鞋指正,谢谢。 首先,二者肯定是不同的概念。数据结构中栈是指满足先进后出的性质的数学或数据结构,数据结构中的堆一般而言,是指(满足堆性质的)优先队列的数据结构,第一个元素具有最高的优先权。 下原创 2013-09-09 21:32:33 · 2104 阅读 · 0 评论 -
问题10:还是单链表的一些问题(如单链表,怎样只遍历一次就可以求出中间结点)
问题描述:给出一个单链表,不知道结点N的值,怎样只遍历一次就可以求出中间结点?/* *该题的大致思路是设置两个指针,比如*p1,*p2。p2每次移动两个位置,而p1每次移动一*个位置。当p2移动到最后时,p1就是中间结点了。 */node *searchMid(node *head){ if(NULL == head) return head; if(NUL原创 2013-09-10 16:14:09 · 1493 阅读 · 0 评论 -
问题9:编程实现一个单链表的建立/测长/打印以及结点的删除。
此题为一基本的数据结构方面的题目,主要考查单链表。在我最开始的程序里面,编译的时候出现错误error: stray '\243' in program这是因为有非标ascII的字符,字符一般都是全角符号什么的比如{ } 和{} ,和,原创 2013-09-06 20:35:09 · 1739 阅读 · 0 评论 -
实现一个以空白符分隔字符串的split函数
【阅读提示】通过本文你将实际了解如何用gcc/g++编译多个c/cpp文件;如何实现将一行字符串分隔成单个单词的split函数;另外还将看到一些常见的错误处理办法以及如何将一个程序分成几个cpp文件的。 本文的主要目的是实现将一行字符串分隔成单个单词的split函数,就如我们熟知的java中的split一样。好了,本文就来带大家实现一个自己写的c++的split函数,不过功能只原创 2013-11-27 17:49:45 · 4436 阅读 · 0 评论