单峰数组找最大元素C语言,查找单峰数组中的第k个元素

给定一个n个不同元素的单峰数组A(意味着它的条目按递增顺序排列直到其最大元素,之后其元素的递减顺序),则整数p (即增加的第一部分的长度)和k(第k个最小元素)给出算法以计算在O(log n)时间中运行的第k个最小元素的值。查找单峰数组中的第k个元素

例子:

A= {1,23,50,30,20,2}

p= 2

k=3

答:20

编辑

我尝试这样做:

def ksmallest(arr1, arr2, k):

if len(arr1) == 0:

return arr2[len(arr2)-k-1]

elif len(arr2) == 0:

return arr1[k]

mida1 = (int)(len(arr1)/2)

mida2 = (int)((len(arr2)-1)/2)

if mida1+mida2

if arr1[mida1]>arr2[mida2]:

return ksmallest(arr1, arr2[:mida2], k-(len(arr2)-mida2))

else:

return ksmallest(arr1[mida1+1:], arr2, k-mida1-1)

else:

if arr1[mida1]>arr2[mida2]:

return ksmallest(arr1[:mida1], arr2, k)

else:

return ksmallest(arr1, arr2[mida2+1:], k)

2013-03-25

KienMe

+1

你试过了什么? –

2013-03-25 21:42:29

+2

不应该是3? –

2013-03-25 21:42:29

+8

随着第一部分的增加和其余的减少,你基本上有两个排序的数组。查看[this](http://stackoverflow.com/a/12555973/1011995)或[this](http://stackoverflow.com/questions/4607945/how-to-find-the-kth-smallest-element在两个排序的数组中)或其他很多问题。 –

2013-03-25 22:00:09

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575650.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新距离

1、这是个现实的社会,感情不能当饭吃,贫穷夫妻百事哀。不要相信电影里的故事情节,那只是个供许多陌生人喧嚣情感的场所。只有不理智和不现实的人才相信。  2、给自己定目标,一年,两年,五年,也…

android edittext 手机号码,Android中EditText中的电话号码格式

在Android的EditText中输入电话号码时,如何设置(xxx)xxx-xxxxx格式的电话号码?我想要(,),-字符自动添加到特定位置.我写了代码,但仅在andorid 2.2版本中有效,而在上述版本中无效.我在stackoverflow中搜索了更多问题.请检查我的代码:phone.addTextChanged…

Apache FtpServer配置步骤总结

Apache旗下的FtpServer(免费开源,跨平台,java语言编写)配置步骤总结 1、在windows服务器安装jre,下载jre7,并安装。(java运行环境),经过实验,不必安装jdk。2、设置坏境变…

android开发 文件分享到应用,Android开发之——7.0适配之应用之间共享文件(FileProvider)...

前言Android 7.0强制启用了被称作StrictMode的策略,带来的影响就是你的App对外无法暴露file://类型的URI了。如果你使用Intent携带这样的URI去打开外部App(比如:打开系统相机拍照),那么会抛出FileUriException异常。官方给出解决这个问题的方…

DB2临时表空间的作用

临时表空间分为系统临时表空间和用户临时表空间 系统临时表空间用来存储各种数据操作(排序、重组表、创建索引、连接表)中所需的内部临时数据,虽然可以创建任意多个系统临时表空间,但建议用户只使用大多数表所使用的页大小创建一个…

android涂鸦板保存功能,android实现涂鸦,保存涂鸦后的图片,清屏

自定义view的类,代码如下:[html]package com.xy.tuya;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android…

技术要求→物理安全→防盗窃和防破坏

一、要求内容a)应将主要设备放置在机房内;b)应将设备或主要部件进行固定,并设置明显的不易除去的标记;c)应将通信线缆铺设在隐蔽处,可铺设在地下或管道中;d)应对介质分类标识,存储在介质库或档案室中&#…

android nv21图片格式,Android -- 将NV21图像保存成JPEG

//保存一张照片String fileName "IMG_" String.valueOf(index) ".jpg"; //jpeg文件名定义File sdRoot Environment.getExternalStorageDirectory(); //系统路径String dir "/jpeg/"; //文件夹名File mkDir new File(sdRoot, dir);if (!mkD…

u-boot,linux,文件系统移植笔记1

今天把u-boot,linux,yaffs2文件系统的移植全部搞定了,在我的mini2440板子上跑起来了,呵呵,兴奋啊!现在回头看看自己花了这么长时间所作的工作,结论就是,只要坚持下去就一定会成功的。 下面就把我移植过程中…

android限制安装包来源,Android系统设置settings应用学习(一)--允许未知来源应用安装...

settings,是Android系统应用--设置的源代码,包名称为:com.android.settings安全设置代码:SecuritySettings.java/** Copyright (C) 2007 The Android Open Source Project** Licensed under the Apache License, Version 2.0 (the…

浏览器与服务器响应流程-----(转)

一. 解析域名地址为IP地址 浏览器DNS缓存:以Chrome为例,在浏览器窗口中输入chrome://net-internals/#dns,就可以查看当前浏览器DNS缓存记录,chrome的DNS缓存过期时间还是比较短的,大约为1分钟。 本机DNS缓存&#xff1…

android关键应用程序,Android应用程序的四个关键点

对于一个Android应用程序来说,是由四种关键构造块组织而成的,这四种构造块分别是:Activity、Intent Receiver、Service、Content Provider但是,并不是每一个Android应用程序都需要这四种构造块,这不是必须的&#xff0…

手把手教你使用FineUI开发一个b/s结构的取送货管理信息系统(附源码+视频教程(第6节))...

一 本系列随笔概览及产生的背景 近阶段接到一些b/s类型的软件项目,但是团队成员之前大部分没有这方面的开发经验,于是自己选择了一套目前网上比较容易上手的开发框架(FineUI),计划录制一套视频讲座,来讲解如…

Pc-98 android,PC安卓多功能搞机助手3.98

V3.98版本更新日志:1.全新多设备检测机制,底层代码重写;2.新增支持检测安卓用户是否允许当前电脑调试设备;3.软件冻结#卸载中新增清除指定应用数据;4.小米线刷检测功能优化,修复之前版本不能正确识别设备是…

拼接路径的两种方式

//本文永久链接,转载请注明出处:http://www.cnblogs.com/ChenYilong/p/3490669.html https://www.evernote.com/shard/s227/sh/1401e497-899e-4b04-9ff6-e1d9638e9f25/f6b722ed5cb2c5f603a9b242ee7fe230转载于:https://www.cnblogs.com/ChenYilong/p/3490669.html

android像素鸟,像素鸟Flappy Bird

Flappy Bird是最近非常热门的一款像素游戏,Flappy Bird 的游戏规则异常简单:和Frogmind Games的成名作品BADLAND类似,玩家只需要点击屏幕就可以操作游戏,控制角色通过各种障碍。看似简单的规则下是让人抓狂的游戏难度。首先&#…

Android是什么 之三手机之硬件形态

手机硬件形态  本节可能与Android无关,但是Android系统现在这个阶段更多的是移动终端形态的开发平台,本节给出了Android背后的工作-Android管理的硬件是什么,Android的本质就是要管理好这些硬件部分,为用户提供一个体验更好&…

Android CPU 深度睡眠,处理器的深度和深度睡眠状态之间的差异

深度睡眠(C3)和深度睡眠(C4)是用于描述移动平台电源管理的术语。电源管理就是通过将 CPU 置于不使用状态时休眠来延长电池续航时间。C3 深度睡眠和 C4 深度睡眠是 ACPI 电源管理状态。更深的睡眠源自 CPU 和芯片组交互的改进,以重定向 snoop 周期。CPU 的深度 C4 状…

品味性能之道十一:JAVA中switch和if性能比较

通常而言大家普遍的认知里switch case的效率高于if else。根据我的理解而言switch的查找类似于二叉树,if则是线性查找。按照此逻辑推理对于对比条件数目大于3时switch更优,并且对比条件数目越多时switch的优势越为明显。一、测试目的最近与开发同学对于前…

miniblink载入html,winform使用miniblink展示html(全屏)

【实例简介】使用miniblink 展示html的例子,miniblink基于chromium的浏览器控件【实例截图】点击下图中的百度,即可 实现全屏访问 百度网页 ,如下图:其实是winform嵌入的这个网页,打开即是 全屏效果【核心代码】using …