摘要: 题目 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯... 阅读全文
posted @ 2019-02-09 10:18 lightmare 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 题目 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,... 阅读全文
posted @ 2019-02-09 10:18 lightmare 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目 从上往下打印出二叉树的每个节点,同层节点从左至右打印。考点1.广度优先遍历2.binary tree3.queue4.deque 思路按层打印:8、6、10、5、7、9、11 用STL的deque完成两端进出的操作。规律:1.从头节点开始放入容器。2.每次打印... 阅读全文
posted @ 2019-02-09 10:11 lightmare 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题目给定 pushed 和 popped 两个序列,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false 。 示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,... 阅读全文
posted @ 2019-02-08 21:37 lightmare 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 设计一个支持 push,pop,top 操作,并能在O(1)时间内检索到最小元素的栈。push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。示例:MinStack... 阅读全文
posted @ 2019-02-08 13:22 lightmare 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[ ... 阅读全文
posted @ 2019-02-08 12:03 lightmare 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ ... 阅读全文
posted @ 2019-02-07 20:32 lightmare 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1 思路如果根节点存在,就交换两个子树的根节点,用递归,从下... 阅读全文
posted @ 2019-02-07 19:26 lightmare 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 题目描述给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例 1:给定的树 s: 3 / \ 4 5 / \ 1 ... 阅读全文
posted @ 2019-02-07 15:53 lightmare 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 测试用例// list1: 1->3->5// list2: 2->4->6void Test1(){ ListNode* pNode1 = CreateLis... 阅读全文
posted @ 2019-02-07 11:52 lightmare 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题目描述输入一个链表,反转链表后,输出新链表的表头。 测试用例// 输入的链表有多个结点void Test1(){ ListNode* pNode1 = CreateListNode(1); ListNode* pNode2 = CreateListNod... 阅读全文
posted @ 2019-02-07 08:48 lightmare 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。考点1.鲁棒性:存在环;不为空链表;指针下一个节点存在时才往下走。2.复杂问题分解成简单问题 。 思路1.判断链表中存在环:两个指针,同时从头节点出发,fast的走两步,slow的走一步... 阅读全文
posted @ 2019-02-06 23:36 lightmare 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题目描述题目:输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个结点是值为4的结点。 考点鲁棒性:指针为nu... 阅读全文
posted @ 2019-02-06 18:45 lightmare 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 第一题题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 方法一 第一遍void ReorderOddEven_1(int *pData, u... 阅读全文
posted @ 2019-02-06 15:50 lightmare 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 传送门:1.C++指针详解2.C++函数指针总结 1.在讲这个问题之前,我们要明白一个问题。就是我们为什么要把一个函数的地址作为参数传递给另一个参数。要知道在C语言中,一个函数内部是可以直接调用其他函数的,既然可以直接调用,为什么还要用这么麻烦的办法去把函数当做参数来... 阅读全文
posted @ 2019-02-06 15:18 lightmare 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。测试用例: ... 阅读全文
posted @ 2019-02-05 22:12 lightmare 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 题目描述请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是... 阅读全文
posted @ 2019-02-05 14:14 lightmare 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 什么是正则表达式很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找某个目录下的所有的Word文档的话,你会搜索*.doc。在这里,*会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不... 阅读全文
posted @ 2019-02-04 22:22 lightmare 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 题目描述:题目描述在O(1)时间删除链表结点给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。 考查创新编程能力。 思路:1.如果从头到尾遍历,时间O(n)2.如果将待删除节点的下一个节点j复制到待删除节点i上,然后将i的下一个节点指向j的下一... 阅读全文
posted @ 2019-02-04 19:38 lightmare 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 1.大数的加法 语法:add(char a[],char b[],char s[]); 参数: a[]:被加数,用字符串表示,位数不限 b[]:加数,用字符串表示,位数不限 s[]:结果,用字符串表示 返回值... 阅读全文
posted @ 2019-02-04 13:52 lightmare 阅读(1140) 评论(0) 推荐(0) 编辑
摘要: 面试题17:打印1到最大的n位数 题目:输入数字n,按顺序打印出从1最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数即999。 考点:用字符串或者数组表达一个大数。 思路1.由于不知道n的范围,n很大的时候,用int或者long long 可能会... 阅读全文
posted @ 2019-02-03 23:58 lightmare 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 代码的完整性:1.功能测试2.边界测试3.负面测试 3种处理方法/优点/缺点1.返回值/与系统API一致/无法直接作为函数参数2.全局变量/可以直接... 阅读全文
posted @ 2019-02-03 00:01 lightmare 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 考点:位运算 -------------可能陷入死循环的解法--------------------- 从n的2进制形式的最右边开始判断是不是1,该解法如果输入时负数会陷入死循环,因为负... 阅读全文
posted @ 2019-02-02 21:13 lightmare 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 各种位运算的使用 === 1. and运算 === and运算通常用于二进制取位操作,例如一个数 and 1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示该数为奇数. === 2. or运算... 阅读全文
posted @ 2019-02-02 20:59 lightmare 阅读(303) 评论(0) 推荐(0) 编辑
摘要: // 题目:给你一根长度为n绳子,请把绳子剪成m段(m、n都是整数,n>1并且m≥1)。// 每段的绳子的长度记为k[0]、k[1]、……、k[m]。k[0]*k[1]*…*k[m]可能的最大乘积是多少?例如当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,... 阅读全文
posted @ 2019-02-01 17:05 lightmare 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进... 阅读全文
posted @ 2019-02-01 14:12 lightmare 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s... 阅读全文
posted @ 2019-01-31 22:50 lightmare 阅读(206) 评论(0) 推荐(0) 编辑
摘要: c++引用与指针的区别 ★ 相同点: 1. 都是地址的概念; 指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。 指针的权威定义:In a declaration T D where D has the form * cv-qualifie... 阅读全文
posted @ 2019-01-31 20:09 lightmare 阅读(2226) 评论(0) 推荐(1) 编辑
摘要: 1、什么是sizeof 首先看一下sizeof在msdn上的定义: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type... 阅读全文
posted @ 2019-01-31 20:09 lightmare 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小... 阅读全文
posted @ 2019-01-29 21:07 lightmare 阅读(203) 评论(0) 推荐(0) 编辑
摘要: qsortvoid qsort (void* base, size_t num, size_t size, int (*compar)(const void*,const void*));Sort elements of arraySorts t... 阅读全文
posted @ 2019-01-21 21:05 lightmare 阅读(327) 评论(0) 推荐(0) 编辑
摘要: C++中rand() 函数的用法1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。2、如果你要产生0~99这100个整数中的一个随机整数,可以表达为:int num = rand() % 100; 这... 阅读全文
posted @ 2019-01-21 18:49 lightmare 阅读(883) 评论(0) 推荐(0) 编辑
摘要: https://docs.google.com/presentation/d/e/2PACX-1vQGlXP6QZH0ATzXYwnrXinJcCn00fxCOoEczPAXU-n3hAPLUfMfie7CwW4Vk4owYPiNh6g4uc9dx757/pub?st... 阅读全文
posted @ 2018-09-20 21:05 lightmare 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 马尔萨斯人口问题 阅读全文
posted @ 2018-09-07 15:34 lightmare 阅读(109) 评论(0) 推荐(0) 编辑
摘要: python的对数首先要导入 math 模块:import mathimport numpy as npmath.log(8,2),此为以2为底8的对数等于 math.log2(8);等于np.log2(8)自然对数: 以e为底的对数。e = math.e 约等于 ... 阅读全文
posted @ 2018-09-04 02:21 lightmare 阅读(2525) 评论(0) 推荐(0) 编辑
摘要: 这个月月初看完了C++面向对象和对象模型的知识。中旬自己做了Neural style in tensorflow 的实验。在linux上进行了GPU实验。是基于深度学习的。原理还没搞懂。是卷积网络的。后来我去学tensorflow补基础了。下旬在谷歌上学习ML的基础入... 阅读全文
posted @ 2018-08-31 21:34 lightmare 阅读(118) 评论(0) 推荐(0) 编辑
摘要: TensorFlow框架做实时人脸识别小项目(一) 使用简单正则表达式爬取下厨房(早餐,午餐,晚餐) Python爬虫系列(四): Project 1:下厨房(Web端) 阅读全文
posted @ 2018-08-28 18:45 lightmare 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 目录Calculating a ProbabilityModel Training1.Loss function for Logistic Regression2.Regularization in Logistic RegressionGlossay Calcula... 阅读全文
posted @ 2018-08-27 23:27 lightmare 阅读(852) 评论(0) 推荐(0) 编辑
摘要: 目录Overcrossing?L₂ RegularizationLambdaExamining L2 regularizationCheck UnderstandingGlossay Overcrossing?complete this exercise that e... 阅读全文
posted @ 2018-08-26 23:05 lightmare 阅读(461) 评论(0) 推荐(0) 编辑
摘要: https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/ An Intuitive Explanation of Convolutional Neural NetworksPosted on Au... 阅读全文
posted @ 2018-08-26 16:41 lightmare 阅读(301) 评论(0) 推荐(0) 编辑