随笔分类 -  剑指Offer

本栏目是关于《剑指offer》提供的算法题目,采用java语言实现每一个题目,同时记录解题思路、设计的数据结构、算法设计思想等内容
《剑指Offer》第1题(Java实现):在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
摘要:一、题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 二、思路解析 此问题使用类似于二分查找的算法。右上角元素(第一行最后一列)的元素是第一行元素 阅读全文
posted @ 2019-04-18 20:48 W_King 阅读(374) 评论(0) 推荐(0)
《剑指Offer》第20题(Java实现):定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
摘要:一、题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 二、思路解析 首先定义一个Integer类型的栈,记为stack,此栈用来完成数据正常的push()、pop()、top()和peek()等操作。 然后定义一个Integer类型的栈 阅读全文
posted @ 2019-04-11 17:17 W_King 阅读(246) 评论(0) 推荐(0)