数据结构与算法
@HhpBoot
个人博客网站: http://hhpstudy.cn ||
https://hhpboots.gitee.io
展开
-
二分查找算法(java实现)
二分查找算法(java实现) 二分查找 又叫折半查找,是一种简单又快速的查找算法 适用于(有序列表) 每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为0。二分查找是一种非常非常高效的查询算法,时间复杂度为O(logn)。 算法前提: 必须采用顺序存储结构 必须按关键字大小有序排列 例如: 请对一个有序数组 arr 进行 二分查找 {1,8, 10, 89, 1000, 1000, 1234} ,输入一原创 2021-03-21 16:39:08 · 332 阅读 · 0 评论 -
给出一个整型数组 ,找出由三个数组成的最大乘积,并输出这个乘积。
给出一个整型数组 ,找出由三个数组成的最大乘积,并输出这个乘积。 示例 : 输入:nums = [-1,2,3,4] 输出:24 解题思路: 1.如果数组长度刚好为3,则不需要做判断,直接返回三个数乘机 如果数组中全是非负数,则最大的三个数相乘为最大乘积; 如果全是非正数,则最大的三个数相乘同样也为最大乘积。 如果数组中有正数也有负数,则最大乘积可能是:a.三个最大正数的乘积,b.也可能是两个最小负数(即绝对值最大)与最大正数的乘积。 代码实现: 数组排序: //求三个数的最大乘积 p原创 2021-01-29 16:40:30 · 1127 阅读 · 0 评论