当前位置: 首页 > news >正文

网站 目录 结构第五届中国国际进口博览会开幕

网站 目录 结构,第五届中国国际进口博览会开幕,洛阳新光建站,下载上海发布官方网站目录 题目解法lambda在这是怎么用的&#xff1f; 题目 &#xff08;这是一个 交互式问题 &#xff09; 你可以将一个数组 arr 称为 山脉数组 当且仅当&#xff1a; arr.length > 3 存在一些 0 < i < arr.length - 1 的 i 使得&#xff1a; arr[0] < arr[1] <…

目录

  • 题目
  • 解法
  • lambda在这是怎么用的?

题目

(这是一个 交互式问题 )

你可以将一个数组 arr 称为 山脉数组 当且仅当:

arr.length >= 3
存在一些 0 < i < arr.length - 1 的 i 使得:
arr[0] < arr[1] < … < arr[i - 1] < arr[i]
arr[i] > arr[i + 1] > … > arr[arr.length - 1]
给定一个山脉数组 mountainArr ,返回 最小 的 index 使得 mountainArr.get(index) == target。如果不存在这样的 index,返回 -1 。

你无法直接访问山脉数组。你只能使用 MountainArray 接口来访问数组:

MountainArray.get(k) 返回数组中下标为 k 的元素(从 0 开始)。
MountainArray.length() 返回数组的长度。
调用 MountainArray.get 超过 100 次的提交会被判定为错误答案。此外,任何试图绕过在线评测的解决方案都将导致取消资格。

解法

class Solution {int binary_search(MountainArray &mountain, int target, int l, int r, int key(int)) {target = key(target);while (l <= r) {int mid = (l + r) / 2;int cur = key(mountain.get(mid));if (cur == target) {return mid;} else if (cur < target) {l = mid + 1;} else {r = mid - 1;}}return -1;}
public:int findInMountainArray(int target, MountainArray &mountainArr) {int l = 0, r = mountainArr.length() - 1;while (l < r) {int mid = (l + r) / 2;if (mountainArr.get(mid) < mountainArr.get(mid + 1)) {l = mid + 1;} else {r = mid;}}int peak = l;int index = binary_search(mountainArr, target, 0, peak, [](int x) -> int{return x;});if (index != -1) {return index;}return binary_search(mountainArr, target, peak + 1, mountainArr.length() - 1, [](int x) -> int{return -x;});}
};

lambda在这是怎么用的?

int index = binary_search(mountainArr, target, 0, peak, [](int x) -> int{return x;});

[](int x)是输入类型,得到返回类型
0到peak时升序,key(x)=int{return x;},peak+1到length-1降序,key(x)=int{return -x;}这样左右公用一个函数
在降序的时候,比较规则就不一样了,函数也需要重写,用这种方法可以少写一个函数
key 是一个函数指针,它指向一个函数,该函数接受一个整数参数并返回一个整数值。在这个代码片段中,key 函数的作用是对目标值 target 和数组中的元素进行转换,以满足二分查找的要求。

http://www.yayakq.cn/news/24296/

相关文章:

  • 网页版微信登录不了怎么回事网站优化要怎么做才会做到最佳
  • 有免费注册网站吗wordpress添加地图
  • 东阿县城市建设局网站影视公司排名
  • 苏州品牌网站设计开发建站之星极速版
  • 公司网站怎么规范管理的鞍山玉佛苑玉佛图片
  • 郑州市汉狮做网站建筑公司注册资金最低多少
  • 网站开发怎样验收加盟网页制作
  • 网站建设的想法兰州关键词快速上首页排名
  • 做网站制作怎么样沈阳男科正规医院
  • 正规的网站制作电话自建房平台设计
  • 网站建设教程网聊城网站改版
  • 织梦网站修改使用教程做网站设计要适配到手机端么
  • vps绑定多个网站个人网站备案名
  • 程序员能转行做网站维护不石泉政协网站建设方案
  • 石油大学网页设计与网站建设河北网站建设团队
  • 手机app客户端做网站网站建设共享
  • 做移动网站优化软件wordpress 置顶 插件
  • 聊城做wap网站公司域名解析平台网站建设
  • 网站建设去哪里学北京品牌高端网站建设公司
  • seo工作内容和薪资广告优化正规公司
  • 湖南平台网站建设哪家好wordpress火车头发布登陆失败
  • 网站建设之家网站中页面链接怎么做的
  • 搭建一个网站的步骤网络设计总结
  • 制作手机广告的网站大连营销型网站建设
  • 网站 备案 名称大发快三网站自做
  • 新乡网站建设哪家实力强myeclipse怎样做网站
  • 广东网站优化公司wordpress恢复网站
  • jq网站特效插件下载东莞房产信息网
  • 遵义做网站公司wordpress经典主题
  • 自己做的网站怎么打开爱做网站yeele