算法
文章平均质量分 90
枫哥和java
这个作者很懒,什么都没留下…
展开
-
递归算法 Java实现
缘起于网易的一道算法笔试题,之前对递归算法有一个初步印象。感觉递归好像就是一种迭代的过程。将原问题不断分解为若干个与原问题类似更小的问题,直到小问题已知,也就是找到了递归算法的出口,此时,再讲问题回带得到解的结果。废话不多说,先上题。题目是这样的:有一只猴子第一天摘了很多桃,觉得很高兴就立刻吃了桃总数的一半,然后觉得没吃饱又吃了3个。猴子感觉这样吃桃会立刻没有,于是就定下一个规矩:每次在奇数天吃剩...转载 2018-03-21 20:09:27 · 265 阅读 · 0 评论 -
Java递归算法经典实例(兔子问题、阶乘、1到100累加)
题目:古典问题:3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?分析:首先我们要明白题目的意思指的是每个月的兔子总对数;假设将兔子分为小中大三种,兔子从出生后三个月后每个月就会生出一对兔子,那么我们假定第一个月的兔子为小兔子,第二个月为中兔子,第三个月之后就为大兔子,那么第一个月分别有1、0、0,第二个月分别为0、1、0,第三个月分别为...转载 2018-03-21 20:10:31 · 2185 阅读 · 0 评论 -
Java七种排序算法
冒泡排序、选择排序、快速排序、插入排序、希尔排序、归并排序、堆排序 Java排序算法 1)分类: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择排序、堆排序) 4)归并排序 5)分配排序(箱排序、基数排序) 所需辅助空间最多:归并排序 所需辅助空间最少:堆排序 平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序。 1)选择排序算法的时...转载 2018-07-23 15:04:16 · 139 阅读 · 0 评论 -
【BAT面试现场】如何判断一个数是否在40亿个整数中?
作者 channingbreeze 如需转载,请联系原作者授权。 小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT。 今天他就去BAT中的一家面试了。 简单的自我介绍后,面试官给了小史一个问题。 【面试现场】 题目:我有40亿个整数,再给一个新的整数,我需要判断新的整数是否在4...转载 2018-08-31 17:21:51 · 754 阅读 · 0 评论 -
算法和编程面试题精选TOP50!(附代码+解题思路+答案)
作者 | javinpaul 编译 | 王天宇、Jane 整理 | Jane 出品 | AI科技大本营 【导读】之前我们给同学们推荐了很多关于 Python 的面试资源,大家都表示很有用。这次营长表示要翻 Java 的牌子啦~ 应大家的强烈反馈,我们找了一套 Java 语言的算法和编程的面试题。 这份面试资源主要包含五部分内容:数组、链表、字符串、二叉树和重要算法(如排序算法)的编程面试题,...转载 2018-09-27 14:25:53 · 5067 阅读 · 0 评论 -
递归算法精讲
原作者:书呆子Rico 《递归的内涵与经典应用》 http://my.csdn.net/justloveyou_ 摘要: 大师 L. Peter Deutsch 说过:To Iterate is Human, to Recurse, Divine.中文译为:人理解迭代,神理解递归。毋庸置疑地,递归确实是一个奇妙的思维方式。对一些简单的递归问题,我们总是惊叹于递归描述问题的能力和编写代码的简...转载 2018-11-09 09:20:39 · 583 阅读 · 0 评论 -
一套图 彻底明白了“时间复杂度”
写在前面: 这篇文章是在csdn公众号 程序人生中发布的。是我到目前为止所看到的关于时间复杂度介绍的最好的文章,简介 清晰 明了。 所以拿来po出来 仅供学习交流,如侵则删。 正文: 时间复杂度的意义 究竟什么是时间复杂度呢?让我们来想象一个场景:某一天,小灰和大黄同时加入了一个公司...... 一天过后,小灰和大黄...转载 2018-11-21 09:36:40 · 1374 阅读 · 1 评论