![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指Offer
code_zjy
这个作者很懒,什么都没留下…
展开
-
Java 实现剪绳子
给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n>1并且m>1)每段绳子的长度记为k[0],k[1],…,k[m].请问k[0]k[1]…*k[m]可能的最大乘积是多少?原创 2017-07-04 10:47:21 · 3530 阅读 · 0 评论 -
Java实现机器人的运动范围
题目描述:机器人的运动范围 地上有一个m行n列的方格。一个机器人从坐标(0,0)的格子开始移动,它每次可以向左,向右,向上,向下移动一格, 但不能进入行坐标和列坐标的位数之和大于k的格子。例如:当k为18时,机器人能够进入方格(35,37), 因为3+5+3+7 = 18;但它不能进入方格(35,38),因为3 + 5+3+8 = 19.请问该机器人最多能到达多少个格子? i原创 2017-07-03 11:15:53 · 1530 阅读 · 0 评论 -
Java实现快速排序
算法思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动。原创 2017-06-29 13:20:28 · 193 阅读 · 0 评论 -
Java实现对公司所有员工的年龄排序
Java实现对公司所有员工年龄的排序原创 2017-06-29 13:22:21 · 1359 阅读 · 0 评论 -
Java 实现二分查找
二分查找:又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。时间复杂度O(h)=O(log2n)。算法思想:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进原创 2017-06-29 13:16:44 · 222 阅读 · 0 评论 -
Java实现翻转单链表
翻转单链表有递归和非递归两种方式。原创 2017-06-01 21:28:23 · 245 阅读 · 0 评论 -
生成窗口最大值数组
有一个整型数组arr和一个大小为w的窗口从数组的左边移动到右边,窗口每次向右边移动一个位置。 例如:整型数组arr为4, 3, 5, 4, 3, 3, 6, 7,窗口大小为3,返回结果为5,5,5,4,6,7 import java.util.LinkedList; public class GetMaxWindow { public static void main(Str原创 2017-05-17 11:14:56 · 373 阅读 · 0 评论