2018年2月4日

摘要: 手写快排的基础思想就是先分后立,设置数组中的一个数为支点,针对这个支点,左边的数进行快排,右边也进行快排,依次递归。 实现源码如下: 阅读全文

posted @ 2018-02-04 12:15 Unkn0wnnnnn 阅读(274) 评论(0) 推荐(0)

2018年2月3日

摘要: 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39 对于斐波那契数列,可以发现的是,当n>2时,斐波那契的特点是F[n]=F[n-1]+F[n-2],因此使用迭代的方式就可以求出斐波那契数列的项。 实现源码如下: class Solution { p 阅读全文

posted @ 2018-02-03 20:19 Unkn0wnnnnn 阅读(210) 评论(0) 推荐(0)

摘要: 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 使用vec 阅读全文

posted @ 2018-02-03 20:16 Unkn0wnnnnn 阅读(144) 评论(0) 推荐(0)

摘要: 其实两个栈实现队列很简单,入栈和入队列的性质都是一样的,将元素存储起来,重点是出栈和出队列的形式是完全不同的,也就是FIFO和LILO的区别,整体思路很简单,出队列无非就是入a栈再出a栈,再进入b栈,再出b栈,这样我们就完成了一次出队列的操作。具体实现源码如下: 阅读全文

posted @ 2018-02-03 15:41 Unkn0wnnnnn 阅读(133) 评论(0) 推荐(0)

摘要: 已知一颗二叉树的前序遍历和中序遍历,要求重建出该二叉树; 根据前序遍历和中序遍历的特征,前序遍历的顺序为根左右,中序为左根右,那么在前序遍历中找到的根节点,在中序遍历中,左边为其左子树,右边为其右子树,由此可知使用递归的方法不断的寻找子序列的左子树右子树并重组,即可完成二叉树的还原,具体实现代码如下 阅读全文

posted @ 2018-02-03 15:16 Unkn0wnnnnn 阅读(163) 评论(0) 推荐(0)

摘要: 题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 总体就是从后往前预留出空间进行操作,具体实现源码如下: class Solution{ public: void replaceSpa 阅读全文

posted @ 2018-02-03 12:54 Unkn0wnnnnn 阅读(221) 评论(0) 推荐(0)

摘要: 题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解题思路: 这样一个二维数组从上到下递减,从左到右递增,那么从这样的二维数组的左下角开始或者从右上角开始对target进行 阅读全文

posted @ 2018-02-03 11:50 Unkn0wnnnnn 阅读(138) 评论(0) 推荐(0)

2018年1月30日

摘要: 要吐了要吐了,深更半夜太晚了就先不写思路了,直接上代码: 阅读全文

posted @ 2018-01-30 02:55 Unkn0wnnnnn 阅读(134) 评论(0) 推荐(0)

2018年1月29日

摘要: 第一眼看到这道题的时候其实头皮有点发麻,根本没有多想到二进制这一个方面来,平时也对二进制下的操作使用较少,自然没有能够及时想起,反而是在想能不能强制性的将两个数转换为两个内存上不同的地址再针对地址,使用指针的偏移进行操作,最后返回地址。这里针对这一种方式不做过多的讨论,而是回到问题的本质,加法在二进 阅读全文

posted @ 2018-01-29 21:43 Unkn0wnnnnn 阅读(99) 评论(0) 推荐(0)

摘要: Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the characters in s can be replaced to get t. All occurrenc 阅读全文

posted @ 2018-01-29 21:07 Unkn0wnnnnn 阅读(103) 评论(0) 推荐(0)