10 2017 档案

广度优先遍历&深度优先遍历
摘要:一、广度优先算法BFS(Breadth First Search) 基本实现思想 (1)顶点v入队列。 (2)当队列非空时则继续执行,否则算法结束。 (3)出队列取得队头顶点v; (4)查找顶点v的所以子节点,并依次进入队列; (5)转到步骤(2)。 二、深度优先算法DFS(Depth First 阅读全文

posted @ 2017-10-31 15:53 wsw_seu 阅读(386) 评论(0) 推荐(0)

顺时针打印矩阵
摘要:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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. 1 class Solution { 2 public: 3 vector printMatrix(vector > ma... 阅读全文

posted @ 2017-10-31 09:43 wsw_seu 阅读(175) 评论(0) 推荐(0)

合唱团
摘要:题目描述 有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积吗? 输入描述: 每个输入包含 1 个测试用例。每个测试数据的第一行包含一个整数 n (1 <= 阅读全文

posted @ 2017-10-30 14:03 wsw_seu 阅读(154) 评论(0) 推荐(0)

二叉树的镜像
摘要:题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 1 /* 2 struct TreeNode { 3 int val; 4 st 阅读全文

posted @ 2017-10-26 10:24 wsw_seu 阅读(154) 评论(0) 推荐(0)

合并两个排序的链表
摘要:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 阅读全文

posted @ 2017-10-25 10:37 wsw_seu 阅读(98) 评论(0) 推荐(0)

游历魔法王国
摘要:魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树。 小易现在在0号城市,每次行动小易会从当前所在的城市走到与其相邻的一个城市,小易最多能行动L次。 如果小易到达过某个城市就视为小易游历过这个城市了,小易现在要制定好的旅游计划使他能游历最多的城市,请你帮他计算一下他 阅读全文

posted @ 2017-10-25 10:00 wsw_seu 阅读(390) 评论(0) 推荐(0)

动态规划之最长公共子串
摘要:描述: 计算两个字符串的最大公共子串(Longest Common Substring)的长度,字符不区分大小写。 输入: 输入两个字符串 输出: 输出一个整数 样例输入: 样例输出: 这里的最大公共字串要求的字串是连续的。 求字串的方法和求子序列方法类似: 当str1[i] == str2[j]时 阅读全文

posted @ 2017-10-21 15:39 wsw_seu 阅读(270) 评论(0) 推荐(0)

动态规划之最长公共子序列
摘要:动态规划法: 经常会遇到复杂问题不能简单的分成几个子问题,因而会分出一系列子问题。简单的采用把大问题分解成子问题,并综合子问题解导出大问题的方法,问题求解耗时会按着指数幂级数增加。为了节约重复求相同的子问题的时间,引入一个数组,不管他们是否对最终解有帮助,把所有子问题的解存于该数组中,这就是动态规划 阅读全文

posted @ 2017-10-21 15:02 wsw_seu 阅读(432) 评论(0) 推荐(0)

Palindromic Substrings
摘要:Given a string, your task is to count how many palindromic substrings in this string. The substrings with different start indexes or end indexes are c 阅读全文

posted @ 2017-10-20 14:22 wsw_seu 阅读(137) 评论(0) 推荐(0)

Longest Palindromic Substring
摘要:Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example: Example: 阅读全文

posted @ 2017-10-20 10:56 wsw_seu 阅读(115) 评论(0) 推荐(0)

木棒拼图
摘要:有一个由很多木棒构成的集合,每个木棒有对应的长度,请问能否用集合中的这些木棒以某个顺序首尾相连构成一个面积大于 0 的简单多边形且所有木棒都要用上,简单多边形即不会自交的多边形。 初始集合是空的,有两种操作,要么给集合添加一个长度为 L 的木棒,要么删去集合中已经有的某个木棒。每次操作结束后你都需要 阅读全文

posted @ 2017-10-19 14:01 wsw_seu 阅读(848) 评论(0) 推荐(0)

最大映射
摘要:有 n 个字符串,每个字符串都是由 A-J 的大写字符构成。现在你将每个字符映射为一个 0-9 的数字,不同字符映射为不同的数字。这样每个字符串就可以看做一个整数,唯一的要求是这些整数必须是正整数且它们的字符串不能有前导零。现在问你怎样映射字符才能使得这些字符串表示的整数之和最大? 每组测试用例仅包 阅读全文

posted @ 2017-10-19 11:40 wsw_seu 阅读(248) 评论(0) 推荐(0)

二分查找及其变种(非递归方式)
摘要:二分查找在面试中经常被问到,尤其是他的各种变化版本。二分查找就是把查找的键值和子数组中的中间键作比较,如果被找的键值小于中间键,则在左半部分继续查找;如果大于中间值就在右半部分查找;否则就是要查找的元素。 基本二分查找 给定一个有序数组和一个关键字,找到该值在数组中的下标,否则返回-1 1 int 阅读全文

posted @ 2017-10-17 15:07 wsw_seu 阅读(1764) 评论(0) 推荐(1)

单例模式
摘要:恢复内容开始 单例模式实现方式:将构造函数、拷贝构造函数、赋值构造函数声明为私有的。然后因为不能够创建对象,所以我们必须提供一个接口用于创建一个对象。必须将其声明为static静态成员函数,是指属于类而不属于对象,即整个类只有一份。静态成员函数只能访问静态数据成员,所以数据成员也要声明为静态的。 上 阅读全文

posted @ 2017-10-16 18:36 wsw_seu 阅读(230) 评论(0) 推荐(0)

3. Longest Substring Without Repeating Characters
摘要:Given a string, find the length of the longest substring without repeating characters. Examples: Given "abcabcbb", the answer is "abc", which the leng 阅读全文

posted @ 2017-10-15 21:30 wsw_seu 阅读(122) 评论(0) 推荐(0)

模板之类模板2
摘要:1、派生类和模板: 为了运行的效率,类模板是相对独立的,即独立设计,没有使用继承的思想。对类模板的扩展是采用适配器来完成的。通用性是模板库的设计出发点之一,这是由泛型算法和函数对象等手段达到的。 派生类的目标之一也是代码复用和程序的通用性,最典型的就是MFC,派生类的优点是可以由简到繁,逐步深入,程 阅读全文

posted @ 2017-10-12 14:38 wsw_seu 阅读(130) 评论(0) 推荐(0)

排序之归并排序
摘要:归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 归并过程为:比较 阅读全文

posted @ 2017-10-12 10:45 wsw_seu 阅读(156) 评论(0) 推荐(0)

排序之堆排序
摘要:堆排序时间复杂度:O(NlogN).二叉堆:是完全二叉树。将其结点存入数组的话,任意一非叶结点位置存在以下的两种关系1、k[i]<=k[2*i+1] && k[i]<=k[2*i+2] (小顶堆) 小顶堆堆顶关键字肯定是所有关键字中最小的2、k[i]>=k[2*i+1] && k[i]>=k[2*i 阅读全文

posted @ 2017-10-12 10:03 wsw_seu 阅读(126) 评论(0) 推荐(0)

排序之选择排序
摘要:1、直接选择排序(Straight Select Sorting) 也是一种简单的排序方法,它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~R[n-1]中选取最小值,与R[1]交换,....,第i次从R[i-1]~R[n-1]中选取最小值,与R[i-1] 阅读全文

posted @ 2017-10-12 10:02 wsw_seu 阅读(141) 评论(0) 推荐(0)

排序之冒泡排序
摘要:冒泡排序的过程很简单,首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则交换两个记录,然后比较第二个记录和第三个记录。以此类推,直到第n-1个记录和第n个记录进行比较完毕。上述过程为一趟冒泡排序,其结果使得关键字最大的记录被安置到最后一个记录的位置上上。然后进行第二趟冒泡排序,对前n 阅读全文

posted @ 2017-10-12 09:30 wsw_seu 阅读(256) 评论(0) 推荐(0)

查找数组中第k大的数
摘要:问题: 查找出一给定数组中第k大的数。例如[3,2,7,1,8,9,6,5,4],第1大的数是9,第2大的数是8…… 思考:1. 直接从大到小排序,排好序后,第k大的数就是arr[k-1]。 2. 只需找到第k大的数,不必把所有的数排好序。我们借助快速排序中partition过程,一般情况下,在把所 阅读全文

posted @ 2017-10-11 19:37 wsw_seu 阅读(24218) 评论(1) 推荐(0)

Multiply Strings
摘要:Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2. Note: The length of both num1 and num2 is < 阅读全文

posted @ 2017-10-11 19:09 wsw_seu 阅读(152) 评论(0) 推荐(0)

模板之类模板1
摘要:类模板:将类定义中的数据类型参数化。类模板实际上是函数模板的推广,可以用相同的类模板来组建任意类型的对象集合。 使用类模板,类模板的实例化:用具体的数据类型替换模板参数以得到具体的类。模板类也可以实例化为对象,用下列方式创建类模板的实例: 类名 <类型实参表> 对象名称 函数模板可以自动推导,类模板 阅读全文

posted @ 2017-10-11 18:21 wsw_seu 阅读(218) 评论(0) 推荐(0)

模板之函数模板
摘要:宏替换:不做类型检查。 重载:为每个类型提供一个重载版本。 模板:提供一个模板,为相同逻辑功能提供一个模板。将类型当作参数来传递,让编译器实例化对应函数来处理。不同的版本由编译器维护。(静态多态) 模板是一种参数化的多态工具,所谓参数化的多态性,是指将程序所处理的对象的类型参数化,使一段程序代码可以 阅读全文

posted @ 2017-10-11 15:33 wsw_seu 阅读(204) 评论(0) 推荐(0)

排序之插入排序
摘要:1、直接插入排序是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录增1的有序表。一般情况下,第i趟直接插入排序的操作为:在含有i-1个记录的有序 子列中插入一个记录r[i],变成含有i个记录的有序子序列。从已经排好序的部分的尾部向前找合适的位置插入。每次 阅读全文

posted @ 2017-10-10 20:59 wsw_seu 阅读(267) 评论(0) 推荐(0)

排序之快速排序
摘要:快速排序是对冒泡排序的一种改进,他的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两个部分的记录继续进行排序,以达到整个序列有序的目的。,首先选定一个记录作为枢轴,然后按下述原则进行排列:将所有关键字较它小的记录都安置在它的位置之前, 阅读全文

posted @ 2017-10-10 19:05 wsw_seu 阅读(284) 评论(0) 推荐(0)

多继承、虚基类、虚函数、多态
摘要://如果没有指定继承方式,对与结构体来说就是公有继承,对于类就是私有继承 //公有成员函数称为接口,公有继承,基类的接口成为派生类的接口 //继承与重定义。重定义隐藏了基类的成员。 //可以重定义基类数据和基类成员函数。 //重写基类成员函数有两种情况:1、与基类完全相同2、与基类成员函数名相同,参 阅读全文

posted @ 2017-10-10 16:25 wsw_seu 阅读(985) 评论(0) 推荐(0)

Add Two Numbers
摘要:You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contai 阅读全文

posted @ 2017-10-09 20:45 wsw_seu 阅读(101) 评论(0) 推荐(0)

4sumII
摘要:Given four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l) there are such that A[i] + B[j] + C[k] + D[l]is zero. To make prob 阅读全文

posted @ 2017-10-09 19:53 wsw_seu 阅读(136) 评论(0) 推荐(0)

动态库与静态库优缺点比较(转 侵删)
摘要:动态库与静态库优缺点比较 2017-10-09 13:32:01 动态库与静态库优缺点比较 我们在编写一个C语言程序的时候,经常会遇到好多重复或常用的部分,如果每次都重新编写固然是可以的,不过那样会大大降低工作效率,并且影响代码的可读性,更不利于后期的代码维护。我们可以把他们制作成相应的功能函数,使 阅读全文

posted @ 2017-10-09 13:31 wsw_seu 阅读(1405) 评论(0) 推荐(0)

动态内存与智能指针
摘要:全局对象在程序启动时分配内存,在程序结束时销毁。对于局部自动变量,我们进入其定义所在的程序块时被创建,离开时被销毁。局部static对象在第一次使用前分配,程序结束时销毁。 什么叫局部自动对象和局部静态对象呢?形参和函数体内部定义的变量称为局部变量。对于普通局部变量,当函数的控制路径经过变量定义语句 阅读全文

posted @ 2017-10-07 14:55 wsw_seu 阅读(168) 评论(0) 推荐(0)

碎片长度
摘要:一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,"aaabbaaac"是由下面碎片组成的:'aaa','bb','c'。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的平均长度是多少。 阅读全文

posted @ 2017-10-04 20:25 wsw_seu 阅读(271) 评论(0) 推荐(0)

网易魔法王国
摘要:小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币小 阅读全文

posted @ 2017-10-04 20:02 wsw_seu 阅读(179) 评论(0) 推荐(0)

4sum
摘要:Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array whic 阅读全文

posted @ 2017-10-04 19:32 wsw_seu 阅读(130) 评论(0) 推荐(0)

3Sum
摘要:2017-10-04 16:30:13 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array whi 阅读全文

posted @ 2017-10-04 16:44 wsw_seu 阅读(111) 评论(0) 推荐(0)

Two Sum
摘要:Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have ex 阅读全文

posted @ 2017-10-03 19:28 wsw_seu 阅读(159) 评论(0) 推荐(0)

导航