自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (6)
  • 收藏
  • 关注

原创 LeetCode刷题(C++)——Add Two Numbers(Medium)

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 contain a single digit. Add the two numbers and return

2017-04-30 21:32:10 257

原创 LeetCode刷题(C++)——Path Sum II(Medium)

Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.For example:Given the below binary tree and sum = 22, 5 / \

2017-04-30 15:57:29 257

原创 LeetCode刷题(C++)——Path Sum(Easy)

Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.For example:Given the below binary tree and sum

2017-04-30 15:17:48 257

原创 LeetCode刷题(C++)——Symmetric Tree(Easy)

Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree [1,2,2,3,4,4,3] is symmetric: 1 / \ 2 2 / \ / \3 4 4 3

2017-04-30 11:22:36 304

原创 LeetCode刷题(C++)——Balanced Binary Tree(Easy)

Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never diffe

2017-04-30 10:51:57 334

原创 LeetCode刷题(C++)——Convert Sorted List to Binary Search Tree(Normal)

Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST./** * Definition for singly-linked list. * struct ListNode { * int val; * Lis

2017-04-29 15:37:06 282

原创 LeetCode刷题(C++)——Convert Sorted Array to Binary Search Tree(Easy)

Given an array where elements are sorted in ascending order, convert it to a height balanced BST./** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *l

2017-04-29 14:34:33 282

原创 LeetCode刷题(C++)——Binary Tree Zigzag Level Order Traversal(Medium)

Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between).For example:Given binary

2017-04-29 13:36:05 379

原创 LeetCode刷题(C++)——Binary Tree Level Order Traversal II(Easy)

Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).For example:Given binary tree [3,9,20,null,null,1

2017-04-29 11:48:00 287

原创 LeetCode刷题(C++)——Binary Tree Level Order Traversal(Normal)

Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).For example:Given binary tree [3,9,20,null,null,15,7], 3 / \ 9 2

2017-04-29 11:39:24 267

原创 LeetCode刷题(C++)——Construct Binary Tree from Inorder and Postorder Traversal(Normal)

题目描述Given inorder and postorder traversal of a tree, construct the binary tree.Note:You may assume that duplicates do not exist in the tree./** * Definition for a binary tre

2017-04-28 21:21:54 373

原创 剑指offer(C++)——重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。/** * Definition for binary tree * struct TreeNode { * int val;

2017-04-28 20:58:29 978 1

原创 LeetCode刷题(C++)——Construct Binary Tree from Preorder and Inorder Traversal(Normal)

题目描述Given preorder and inorder traversal of a tree, construct the binary tree.Note:You may assume that duplicates do not exist in the tree./** * Definition for a binary tree

2017-04-28 20:54:07 360

原创 LeetCode刷题(C++)——Maximum Depth of Binary Tree(Easy)

题目描述Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node./** * Definition for a binary

2017-04-28 17:10:19 299

原创 LeetCode刷题(C++)——Minimum Depth if Binary Tree(Easy)

题目描述Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node./*Definition for binary tree

2017-04-28 16:00:08 261

原创 程序员面试金典(C++)——确定字符互异

题目描述请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。测试样例:"aeiou"返回:True"BarackObama"返回:

2017-04-25 17:33:57 623

原创 剑指offer(C++)——矩阵覆盖

题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路:第一个2*1的小矩阵有两种覆盖方法:一种是竖着放,此时总的覆盖方法等于剩下的n-1个2*1的大矩形的覆盖方法;另一种是横着放,此时需要另一个2*1的小矩形也必须横着放,此时总的覆盖方法等于剩下的n-2个2*1的大矩形的覆盖方法。总的方

2017-04-24 21:04:28 894

原创 剑指offer(C++)——跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路:首先我们考虑最简单的情况。如果只有1级台阶,显然只有一种跳法。如果只有2级台阶,则有两种:一种是一次跳1级,一种是一次跳2级接着考虑一般情况,对于n级台阶,我们记跳法总数为f(n)。当n>2时,第一次跳有两种选择,一种是跳1级台阶,此时跳法数目等于后面剩下的n-1

2017-04-24 20:38:32 1798

原创 剑指offer(C++)——变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

2017-04-24 20:15:14 540

原创 剑指offer(C++)——斐波那契数列

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n思路:解法1:大家最熟悉的递归解法就不详述了,直接上代码:/*递归解法,时间复杂度很大*/ int Fibonacci(int n) { if (n == 0) return 0; if(n==1) return

2017-04-24 20:03:35 944

原创 剑指offer(C++)——二进制中1的个数

题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路分析:解法1:如果不考虑时间效率,使用除法,依次统计二进制中1的个数/*时间复杂度大,效率低,只能处理正数,不能处理负数*/ int NumberOf(int n) { int count = 0; while (n) { if (n % 2 == 1) cou

2017-04-24 08:50:04 1443

原创 剑指offer(C++)——旋转数组的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路分析:最直观的解法就是从头到尾遍历一遍数组,找出最小数字。时间复杂度

2017-04-23 21:23:08 1248

原创 位操作

位操作1 最有效的计算一个数x乘以2的n次方的方法虽然直接进行乘法操作符运算可以进行x乘以2的n次方,但该方法不是最优的,通过移位方法会比较高效,因为CPU直接支持位运算,效率最高。x将一个数左移n位,相当于乘以了2的n次方。例如:2引申:如何快速求取一个整数x的7倍?(x相当于将此整数乘以8,然后再减去原值,就得到了x的7倍。2 如何实

2017-04-23 21:07:49 536

原创 剑指offer(C++)——用两个栈实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路:(1)插入:我们知道栈是一个“先进后出”的数据结构,而队列是一个“先进先出”的数据结构。现在要求用两个“先进后出”的栈来实现一个“先进先出”的队列。现在我们通过一个具体实例来分析如何实现。首先插入一个元素a,不妨先把它插入到stack1中,此时stack1中只有{a}。接着在插

2017-04-22 11:24:45 1340

原创 剑指offer(C++)——重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:根据前序遍历的特点,第一个数字1就是根结点。扫描中序遍历序列,就可以确定根结点的位置。根据中序遍历的特点,根结点1前面的3个数都是左子

2017-04-22 11:02:58 538

原创 剑指offer(C++)——从尾到头打印链表

题目描述输入一个链表,从尾到头打印链表每个节点的值。思路:(1)由于链表只能从头到尾进行遍历,于是我们就想如果能把链表的指针翻转过来,我们就可以实现从尾到头的输出了。但是这里有个问题,就是我们这样做会改变原始链表的结构。如果没有要求说不能改变链表的结构,那么我们就可以采用头插法来实现翻转链表。(2)如果要求不能改变原始链表结构怎么办呢?在遍历链表的时候,我们可以借用

2017-04-21 20:48:56 998

原创 剑指offer(C++)——替换空格

题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:简单暴力解法,从头到尾遍历字符串,碰到空格,首先将后面的所有字符串往后移动2个字符,才能空出3个字符位子插入字符“%20”,对于一个长度为n的字符串,对每个空格,需要移动后面O(n)个字符,因此包含n个空格的字符串,

2017-04-21 17:08:47 2297

原创 剑指offer(C++)——二维数组中的查找

题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数思路:二维数组中查找是否包含某个整数,直接的做法就是进行暴力搜索,但是这样做的时间复杂度为O(n*n),效率很低。而且也没有充分利用本题中二维数组递增的特点。根据数组递增的特点,我们会发现如下规律:首先选取数组中

2017-04-21 15:15:02 472

原创 数据结构与算法(C++)——二叉树的遍历

二叉树的遍历二叉树是一种重要的数据结构。遍历方式有前序遍历、中序遍历、后续遍历以及层次遍历。对于前序、中序和后续遍历,采用递归的思想代码实现起来简单且容易理解,非递归实现需要用到辅助栈。层次遍历需要用到辅助队列来实现。一、前序遍历前序遍历是按照:根结点-左结点-有结点   顺序访问。递归代码实现: /*二叉树前序遍历递归实现*/ void preOrder(BinaryTre

2017-04-21 10:31:25 1064

原创 剑指offer(C++)——机器人的运动范围

题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?思路:类似于面试题66,,详细可

2017-04-20 20:23:50 1771

原创 C++实现简单的走迷宫

c++实现简单走迷宫用n*n个小方格代表迷宫,每个方格上有一个字符0或1,0代表这个格子不能走,1代表这个格子可以走。只能一个格子一个走,而且只能从一个格子向它的上、下、左、右四个方向走,且不能重复。迷宫的入口和出口分别位于左上角和右下角,存在唯一的一条路径能够从入口到达出口,试着找出这条路径。例如,下图是一个迷宫,红色表示走出迷宫的一条路径输入:入

2017-04-20 19:29:16 11980 3

原创 剑指offer(C++)——矩阵中的路径

题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如[a b c e s f c s a d e e]是3*4矩阵,其包含字符串"bcced"的路径,但是矩阵中不包含“abcb”路径,因为字符串的第一

2017-04-20 15:05:54 2408

原创 剑指offer(C++)——滑动窗口的最大值

题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],

2017-04-20 11:14:38 3306

原创 sizeof和strlen的区别比较

strlen()和sizeof()的区别strlen是一个函数,起到计数器的作用。它从内存的某个位置开始扫描,直到碰到第一个字符串结束符 '\0'为止,然后返回计数器值;sizeof是关键字,它以字节的形式给出其操作数的存储大小,操作数可以是表达式或括在括号里的类型名,存储大小有操作数类型决定;具体表现如下:sizeof是关键字,strlen是函数。sizeof后如果是类型必须

2017-04-20 10:04:41 632

原创 C/C++中的语言类型

C/C++ 语言中的语言类型一共有5种:表达式语句函数调用语句控制语句:  if语句、switch语句(条件判断语句);do while语句、while语句、for语句(循环执行语句);break语句、continue语句、return语句、goto语句(转向语句)复合语句空语句注意:预处理指令不是语句

2017-04-20 09:38:29 764

原创 剑指offer(C++)——数据流中的中位数

题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。思路:由于数据是从数据流中读取出来的,数据的个数随着时间的变化而增加。因此我们需要一个数据容器来保存读取出来的数据。解法1:用数组来保存数据。如果数组无序,则找到中位数最优的算法时间

2017-04-19 19:02:45 2681

原创 STL——Heap算法

STL——heap算法1、就排序而言,heap是一种特别的元素组织方式,应用于heap排序法(heapsort)。Heap可被视为一个以序列式集合实现而成的二叉树,具有两大性质:(1)第一个元素总是最大。(2)总是能够在对数时间内增加或移除一个元素。2、STL中提供了4个算法:默认的排序准则是 operator(1)make_heap():将某个区间内的元素转化

2017-04-19 17:08:45 599

原创 C/C++ 取整函数ceil(),floor()

使用floor函数:floor(x)返回的是小于或等于x的最大整数。如:     floor(10.5) == 10    floor(-10.5) == -11使用ceil函数:ceil(x)返回的是大于x的最小整数。如:     ceil(10.5) == 11    ceil(-10.5) ==-10    floor()是向负无穷大舍入,floor(-10.5) =

2017-04-19 14:15:40 741

原创 new/delete与malloc/free的区别是什么

相同点:C++中,申请动态内存和释放动态内存,两者都可以,且存储方式一样,申请的内存都在堆中,无法被操作系统自动回收不同点:(1)malloc/free是c/c++语言的标准库函数;new/delete是c++的运算符(2)对于类对象而言,malloc/free无法满足动态类对象的要求具体如下:a、new能够自动计算需要分配的内存空间,而malloc需要手工计算字节数;

2017-04-19 10:51:09 338

原创 剑指offer(C++)——二叉搜索树的第k个结点

题目描述给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 按结点数值大小顺序第三个结点的值为4。思路:根据二叉搜索树的特点,中序遍历的数值是递增排序的,因此,只需中序遍历二叉搜索树就能找到第k大结点。如上面的二叉树,中序遍历结果为 {2,3,4,5,6,7,8},第三个结点的值为4/*思路:根据二叉搜索树的特点,中序遍

2017-04-19 10:39:03 1349

word_count.avro

MapReduce读取Avro序列化文件测试数据,文件中存储了几个单词作为测试数据供读取

2018-11-17

读取自己的mnist数据集代码mnist.py

模仿mnist数据集制作自己的数据集,并读取自己的数据集

2017-11-27

读取mnist数据集并保存成图片代码

从二进制文件中读取mnist数据集并将其保存为图片格式

2017-08-05

模仿mnist数据集制作自己的数据集

模仿mnist数据集格式制作自己的数据集

2017-08-05

模仿CIFAR数据集格式制作自己的数据集代码(修改版)

模仿CIFAR数据集格式制作自己的数据集代码(修改版)

2017-07-21

模仿CIFAR数据集格式制作自己的数据集代码

模仿CIFAR数据集格式制作自己的数据集

2017-07-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除