08 2016 档案

摘要: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... 阅读全文
posted @ 2016-08-30 19:40 随风9 阅读(193) 评论(0) 推荐(0)
摘要:/* *copyright@nciaebupt 转载请注明出处 *问题:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。 *求所有子数组的和的最大值。要求时间负责度为O(n)。 *使用动态规划方法来实现: *如果用函数f(i)表示以第i个数字结尾的子数组的最大和,那么我们需要求出max(f[0...n])。 *我们可以给出如下递归公式求f(i) * |-... 阅读全文
posted @ 2016-08-25 17:19 随风9 阅读(2058) 评论(0) 推荐(0)
摘要:题目:输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。 上面我们详细讨论了如何用递归的思路求字符串的排列。同样,本题也可以用递归的思路来求字符串的组合。 方法一:假设我们想在长度为n的字符串中求m个字符的组合。我们先从头扫描字符 阅读全文
posted @ 2016-08-24 18:30 随风9 阅读(412) 评论(0) 推荐(0)
摘要:虽然排序算法是一个简单的问题,但绝对是笔试面试的基础考点,重重之重。来个排序问题都没回答出来,留给面试官的印象也就那样了。 排序主要分为: 比较排序:快速排序、堆排序、归并排序、插入排序、希尔排序、选择排序、冒泡排序 非比较排序:基数排序、计数排序、桶排序 性能比较点: 时间复杂度:一般而言,好的性能是O(nlgn),且坏的性能是O(n^2)。对于一个排序理想的性能是O(n) 稳定性... 阅读全文
posted @ 2016-08-24 18:26 随风9 阅读(1965) 评论(0) 推荐(0)
摘要:虽然排序算法是一个简单的问题,但绝对是笔试面试的基础考点,重重之重。来个排序问题都没回答出来,留给面试官的印象也就那样了。 排序主要分为: 比较排序:快速排序、堆排序、归并排序、插入排序、希尔排序、选择排序、冒泡排序 非比较排序:基数排序、计数排序、桶排序 性能比较点: 时间复杂度:一般而言,好的性 阅读全文
posted @ 2016-08-23 20:47 随风9 阅读(405) 评论(0) 推荐(0)
摘要:链表是最基本的数据结构,凡是学计算机的必须的掌握的,在面试的时候经常被问到,关于链表的实现,百度一下就知道了。在此可以讨论一下与链表相关的练习题。 1、在单链表上插入一个元素,要求时间复杂度为O(1) 解答:一般情况在链表中插入一元素是在末尾插入的,这样需要从头遍历一次链表,找到末尾,时间为O(n) 阅读全文
posted @ 2016-08-23 20:44 随风9 阅读(288) 评论(0) 推荐(0)
摘要:1、二叉树定义: [cpp] view plain copy print? typedef struct BTreeNodeElement_t_ { void *data; } BTreeNodeElement_t; typedef struct BTreeNode_t_ { BTreeNodeEl 阅读全文
posted @ 2016-08-23 11:13 随风9 阅读(169) 评论(0) 推荐(0)
摘要:ListNode* Merge1(ListNode* pHead1, ListNode* pHead2) { if(pHead1 == NULL) return pHead2; else if(pHead2 == NULL) return pHead1; ListNode* pMergedHead = NULL; ... 阅读全文
posted @ 2016-08-22 22:15 随风9 阅读(211) 评论(0) 推荐(0)
摘要:ListNode* ReverseList(ListNode* pHead) { if(pHead==NULL) return NULL; if(pHead->next==NULL) return pHead; ListNode* preNode=pHead; ... 阅读全文
posted @ 2016-08-22 18:07 随风9 阅读(298) 评论(0) 推荐(0)
摘要:一、单链表是否有环 思路分析: 单链表有环,是指单链表中某个节点的next指针域指向的是链表中在它之前的某一个节点,这样在链表的尾部形成一个环形结构。判断链表是否有环,有以下几种方法。 (1)最常用方法:定义两个指针,同时从链表的头节点出发,一个指针一次走一步,另一个指针一次走两步。如果走得快的指针 阅读全文
posted @ 2016-08-22 12:02 随风9 阅读(25394) 评论(1) 推荐(7)
摘要:一个特例:已知一个随机数生成函数f3(),即以相同的概率随机返回0, 1, 2(返回每个数的概率均为1/3),现要求通过调用f3()实现一个函数f5()。 解答方法: (1)最基本的思路: 计算机中所有的数都是由二进制表示,所以如果能得到一个函数f2(),以50%的概率得到0或者1,那就可以通过这个 阅读全文
posted @ 2016-08-09 09:03 随风9 阅读(736) 评论(0) 推荐(0)
摘要:方法一:是利用map的fromkeys来自动过滤重复值,map是基于hash的,大数组的时候应该会比排序快点吧 方法二:是用set(),set是定义集合的,无序,非重复 方法三:是排序后,倒着扫描,遇到已有的元素删之 #!/usr/bin/python#coding=utf-8'''Created 阅读全文
posted @ 2016-08-01 20:27 随风9 阅读(1666) 评论(0) 推荐(0)