![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
p744174529
这个作者很懒,什么都没留下…
展开
-
剑指offer(java代码)——二维数组中的查找
题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。常规思路肯定就是按照顺序遍历二维数组,但是这样时间复杂度太高。这个问题其实如果大学里学过运筹学的话解决起来特别简单。我们看这个二维数组有什么特点。这个数组每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序原创 2017-05-02 12:40:13 · 194 阅读 · 0 评论 -
基本算法(1)--快速排序法
快速排序法是经常用到的基本的算法之一,它的过程主要可以分为三步:1.在待排序数中找出一个基数。2.将大于或等于这个基数的数全部放到这个基数的右边,将小于或等于这个基数的数全部放到这个数的左边。3.对这个基数的左右两边进行相同的操作,直到完成排序。以13,532,25,24,1,25,23这组数为例,我们可以把第一个数,即13作为基数,设置一个temp存放这个基数。然后从最右边的数开原创 2017-04-20 15:12:50 · 321 阅读 · 0 评论 -
剑指offer(java代码)——矩形覆盖
题目描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?还是一个斐波那契数列问题,直接放代码:原创 2017-05-03 19:01:24 · 238 阅读 · 0 评论 -
剑指offer(java代码)——替换空格
题目描述:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。这道题的步骤大致是这样的:1.计算字符串中空格的数量。2.计算替换后字符串的长度。3.进行替换原创 2017-05-04 16:20:03 · 302 阅读 · 0 评论 -
剑指offer(java代码)——用两个栈实现队列
题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。首先我们知道,栈的特点是先入后出,而队列的特点是先入先出。假设有abc这三个数,对于栈来说,它的入栈顺序是abc,而出栈顺序是cba,而对于队列来说,它的入列和出列顺序都是abc。那么如果我们用对abc进行出栈操作,把出栈的元素按顺序放入另一个栈(记作栈2),那么栈2的入栈顺序就是cba,那么就可原创 2017-05-04 18:31:16 · 264 阅读 · 0 评论 -
剑指offer(java代码)——从尾到头打印链表
题目表述:输入一个链表,从尾到头打印链表每个节点的值。这个题目可以利用Stack的特点。Stack是先入后出,可以利用Stack的pop方法从尾部弹出元素,把弹出的元素放入一个数组中,再将这个数组从头到尾输出。原创 2017-05-06 19:30:20 · 234 阅读 · 0 评论