2020-11-13:手写代码:局部最小值问题。数组无序,相邻元素不等。如何求极小值?

福大大架构师每日一题 2020-11-13 07:11:47
2020-11-13:手写代码:局部最小值问题。数组无序,相邻元素不等。如何求极小值?#福大大架构师每日一题#
...全文
2756 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Scream1314 2021-11-13
  • 打赏
  • 举报
回复

如果那个极值点时两个相同得数呢

韩_师兄 2020-11-13
  • 打赏
  • 举报
回复
引用 1 楼 KeepSayingNo 的回复:
二分法实现 int getLocalMinValue(int[] a,int begin,int end){ if(begin==end) return a[begin]; int mid=(begin+end)/2; if(a[min]<a[mid+1]) { minValueOfLeft=getLocalMinValue(a,begin,mid); } else if(a[min]>a[mid+1]) { minValueOfLeft=getLocalMinValue(a,mid+1,end); } return min{minValueOfLeft,minValueOfRigth}; }
感觉有点问题啊
KeepSayingNo 2020-11-13
  • 打赏
  • 举报
回复
二分法实现 int getLocalMinValue(int[] a,int begin,int end){ if(begin==end) return a[begin]; int mid=(begin+end)/2; if(a[min]<a[mid+1]) { minValueOfLeft=getLocalMinValue(a,begin,mid); } else if(a[min]>a[mid+1]) { minValueOfLeft=getLocalMinValue(a,mid+1,end); } return min{minValueOfLeft,minValueOfRigth}; }
规则边缘 2020-11-13
  • 打赏
  • 举报
回复
最小值就一个,声明一个int变量minValue,初值赋值为MAX_INTEGER, 遍历数组,拿每个元素和minValue比较,小于minValue的话,更新minValue为当前元素值, 遍历完minValue就是最小值咯。 如果是极小值的话,就可能有多个,只要一个元素相邻的两个元素比他大,应该就是极小值了吧。

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧