随笔分类 - 面试题归类
摘要:1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部
阅读全文
摘要:#include #include #include using namespace std; int getresult(int num,stack &st,int &min,int &cursum) { if (num - cursum st; int min = num; int elem = 0; int currsum = 0; in...
阅读全文
摘要:#include #include using namespace std; struct node { struct node *next; int value; }; node *CreateListNode(int value) { if(value==NULL) return NULL; node *pNode=(node*)mall...
阅读全文
摘要:long change(long a) { int my[MAX_SIZE]; int i=0; long tmp=0; while (a) { my[i++]=a%8; a/=8; } int j=i; for (i=0;i<j;++i) tmp=tmp+my[i]*(long)p...
阅读全文
摘要:class Solution { public: int InversePairs(vector data) { int len = data.size(); if (len mm; int tem; for (int k = len -1;k > 0; --k) { bool do...
阅读全文
摘要:/* *copyright@nciaebupt 转载请注明出处 *问题:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。 *求所有子数组的和的最大值。要求时间负责度为O(n)。 *使用动态规划方法来实现: *如果用函数f(i)表示以第i个数字结尾的子数组的最大和,那么我们需要求出max(f[0...n])。 *我们可以给出如下递归公式求f(i) * |-...
阅读全文
摘要:题目:输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。 上面我们详细讨论了如何用递归的思路求字符串的排列。同样,本题也可以用递归的思路来求字符串的组合。 方法一:假设我们想在长度为n的字符串中求m个字符的组合。我们先从头扫描字符
阅读全文
摘要:虽然排序算法是一个简单的问题,但绝对是笔试面试的基础考点,重重之重。来个排序问题都没回答出来,留给面试官的印象也就那样了。 排序主要分为: 比较排序:快速排序、堆排序、归并排序、插入排序、希尔排序、选择排序、冒泡排序 非比较排序:基数排序、计数排序、桶排序 性能比较点: 时间复杂度:一般而言,好的性能是O(nlgn),且坏的性能是O(n^2)。对于一个排序理想的性能是O(n) 稳定性...
阅读全文
摘要:虽然排序算法是一个简单的问题,但绝对是笔试面试的基础考点,重重之重。来个排序问题都没回答出来,留给面试官的印象也就那样了。 排序主要分为: 比较排序:快速排序、堆排序、归并排序、插入排序、希尔排序、选择排序、冒泡排序 非比较排序:基数排序、计数排序、桶排序 性能比较点: 时间复杂度:一般而言,好的性
阅读全文
摘要:链表是最基本的数据结构,凡是学计算机的必须的掌握的,在面试的时候经常被问到,关于链表的实现,百度一下就知道了。在此可以讨论一下与链表相关的练习题。 1、在单链表上插入一个元素,要求时间复杂度为O(1) 解答:一般情况在链表中插入一元素是在末尾插入的,这样需要从头遍历一次链表,找到末尾,时间为O(n)
阅读全文
摘要:1、二叉树定义: [cpp] view plain copy print? typedef struct BTreeNodeElement_t_ { void *data; } BTreeNodeElement_t; typedef struct BTreeNode_t_ { BTreeNodeEl
阅读全文
摘要:ListNode* Merge1(ListNode* pHead1, ListNode* pHead2) { if(pHead1 == NULL) return pHead2; else if(pHead2 == NULL) return pHead1; ListNode* pMergedHead = NULL; ...
阅读全文
摘要:ListNode* ReverseList(ListNode* pHead) { if(pHead==NULL) return NULL; if(pHead->next==NULL) return pHead; ListNode* preNode=pHead; ...
阅读全文
摘要:一、单链表是否有环 思路分析: 单链表有环,是指单链表中某个节点的next指针域指向的是链表中在它之前的某一个节点,这样在链表的尾部形成一个环形结构。判断链表是否有环,有以下几种方法。 (1)最常用方法:定义两个指针,同时从链表的头节点出发,一个指针一次走一步,另一个指针一次走两步。如果走得快的指针
阅读全文
摘要:一个特例:已知一个随机数生成函数f3(),即以相同的概率随机返回0, 1, 2(返回每个数的概率均为1/3),现要求通过调用f3()实现一个函数f5()。 解答方法: (1)最基本的思路: 计算机中所有的数都是由二进制表示,所以如果能得到一个函数f2(),以50%的概率得到0或者1,那就可以通过这个
阅读全文
摘要:题目 实现一颗字典查找树Trie 在线测试本题 http://www.lintcode.com/en/problem/implement-trie/ 解答 trie树又名,前缀树,因为是把字典按照前缀来建树建成就是trie 树。Trie 树可以用作字典的压缩存储,可以节省空间,但是和hash相比不节
阅读全文
摘要:#include <stdio.h>#include <string.h>int totalScore(int score[]){ int sum=0,i; for(i=0;i<=9;i++) { sum += score[i]; } return sum;}int maxScore(int sco
阅读全文
摘要:#include /* * 请使用递归函数完成本题 * 小编已将正确代码放在左侧任务的“不知道怎么办”里 * 小编希望各位童鞋独立完成哦~ */ int getAge(int n) { int age; if(n==1) { return 10; } else { age = getAge(n-1)+2; ...
阅读全文
摘要:Problem蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 Input本题有多组数据,每组数据由一个正整数N组成。(N不大于100) Output对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。 矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。 Sample
阅读全文

浙公网安备 33010602011771号