Kmin of Array

【本文链接】

http://www.cnblogs.com/hellogiser/p/kmin-of-array.html

【代码】

 C++ Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
/*
    version: 1.0
    author: hellogiser
    blog: http://www.cnblogs.com/hellogiser
    date: 2014/5/30
*/
int Partition(int a[], int left, int right)
{
    // partition so that a[left..p-1]<=a[p] and a[p+1..right]>a[p]
    int pivot = a[left], i = left , j = right;
    while (i < j)
    {
        while (a[i] <= pivot) i++;
        while (a[j] > pivot) j--;
        if (i < j)
            myswap(a[i], a[j]);
    }
    myswap(a[left], a[j]);
    return j;
}

int Kmin(int a[], int left, int right, int k)
{
    // a[left..right],  1<=k<=n
    if(left <= right) // less or equal
    {
        int p = Partition(a, left, right);
        ;
        if( k < pk)
            , k); // left searc
        else if(k > pk )
            , right, k - pk); // right search
        else return a[p];
    }
    return NOT_FOUND;
}

int Kmin(int a[], int n, int k)
{
     || k > n)
        return NOT_FOUND;
    , k);
}

【本文链接】

http://www.cnblogs.com/hellogiser/p/kmin-of-array.html

Kmin的更多相关文章

  1. 70 数组的Kmin算法和二叉搜索树的Kmin算法对比

    [本文链接] http://www.cnblogs.com/hellogiser/p/kmin-of-array-vs-kmin-of-bst.html [分析] 数组的Kmin算法和二叉搜索树的Km ...

  2. 5.查找最小的k个元素[Kmin]

    [题目] 输入n个整数,输出其中最小的k个. 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4. [分析] 这道题最简单的思路莫过于把输入的n个整数排序,这样排在最前 ...

  3. 当我们在谈论kmeans(2)

        本稿为初稿,后续可能还会修改:如果转载,请务必保留源地址,非常感谢! 博客园:http://www.cnblogs.com/data-miner/ 其他:建设中- 当我们在谈论kmeans(2 ...

  4. hihocoder-平衡树·SBT

    http://hihocoder.com/problemset/problem/1337 #1337 : 平衡树·SBT 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 ...

  5. iOS面试题2

    1.写出方法获取ios内存使用情况.// 获取当前设备可用内存及所占内存的头文件 #import <sys/sysctl.h> #import <mach/mach.h> // ...

  6. leetcode4568

    date: 2015-09-13 16:32:49 Median of Two Sorted Arrays There are two sorted arrays nums1 and nums2 of ...

  7. Rnadom Teams

    Rnadom  Teams 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.actioncid=88890#problem/B 题目: Descript ...

  8. 【BZOJ1226】学校食堂Dining(状压DP)

    题意:见题面 思路:设dp[i,sta,k]为前i个人已经吃完,从第i人到第i+b[i]人的吃饭状况是sta,前一个吃完的人离i的距离是k(可能为负)的最小值 \[ dp[i+1,sta>> ...

  9. 程序员编程艺术第三十六~三十七章、搜索智能提示suggestion,附近点搜索

    第三十六~三十七章.搜索智能提示suggestion,附近地点搜索 作者:July.致谢:caopengcs.胡果果.时间:二零一三年九月七日. 题记 写博的近三年,整理了太多太多的笔试面试题,如微软 ...

随机推荐

  1. Cas_个人理解

        分为三个部分: 1.Cas服务器(用于验证用户是否正确)        1.用户信息存在服务端,其它客户端应用程序修改用户信息后需要同步到服务端       2.用户信息一般存储在服务端的数据 ...

  2. Mysql-日期转换

    一.字符串转日期 下面将讲述如何在MYSQL中把一个字符串转换成日期: 背景:rq字段信息为:20100901 1.无需转换的: SELECT * FROM tairlist_day WHERE rq ...

  3. C#获取本机IP且过滤非真实网卡(如虚拟机网卡)

    参考了网上的文章,具体地址不记得了. 下面的方法可以过滤掉虚拟机的网卡等无效网卡,进而只留下真实的网卡. using System; using System.Collections.Generic; ...

  4. UVALive 6523 Languages

    传送门 The Enterprise has encountered a planet that at one point had been inhabited. The only remnant f ...

  5. JAVA反射机制—学习总结

    最近收到很多关于Java反射机制的问题留言,其实Java反射机制技术方面没有太多难点,或许是大家在学习过程中遗漏了细小知识点,导致一些问题无法彻底理解,现在我们简单的总结一下,加深印象.什么是反射机制 ...

  6. 02 C语言指针

    今天发帖记录自己学习C语言精髓的心理历程,人生就像是一次旅途,沿途总是能看到最美的风景,让我们的思想相逢在C语言中. 一 初识指针,指针的定义 指针是C语言中的一种类型,类似于整形,字符型等.既然C指 ...

  7. javascript判断文件大小

    <input type="file" id="fileName" name ="fileName" onchange="Ge ...

  8. 织梦DedeCms去掉栏目页面包屑导航最后的分隔符“>”

    织梦DedeCms的面包屑导航调用标签{dede:field name=’position’ /},在栏目页里调用的面包屑导航,最后会出现分割符号“>”,如:主页 > DedeCms 模板 ...

  9. WINDOWS之入侵痕迹清理总结

    Windows的日志文件通常有应用程序日志,安全日志.系统日志.DNS服务器日志.FTP日志.WWW日志等等. 应用程序日志文件:%systemroot%\system32\config\AppEve ...

  10. 对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)

    一. AES对称加密: AES加密 分组 二. 分组密码的填充 分组密码的填充 e.g.: PKCS#5填充方式 三. 流密码:   四. 分组密码加密中的四种模式: 3.1 ECB模式 优点: 1. ...