zoukankan      html  css  js  c++  java
  • 在由N个元素构成的集合S中,找出最小元素C,满足C=A-B,其中A,B是都集合S中的元素,没找到则返回-1

    package bianchengti;
    /*
     * 在由N个元素构成的集合S中,找出最小元素C,满足C=A-B,
     * 其中A,B是都集合S中的元素,没找到则返回-1
     */
    public class findMinValue {
        //快速排序
         public static void sort(int a[], int low, int hight) {
                if (low > hight) {
                    return;
                }
                int i, j, key;
                i = low;
                j = hight;
                key = a[i]; // 用第一个元素作为基准
                while (i < j) { // 从表的两端交替向中间扫描
                    while (i < j && a[j] >= key) {
                        j--;
                    }
                    if (i < j) {
                        a[i] = a[j];
                        i++;
                    }
    
                    while (i < j && a[i] < key) {
                        i++;
                    }
                        
                    if (i < j) {       
                       a[j] = a[i];
                       j--;
                    }         
                }
                
                a[i] = key;//将基准数值替换回 a[i]          
                
                sort(a, low, i - 1); //递归调用,把key前面的完成排序
               
                sort(a, i + 1, hight); //递归调用,把key后面的完成排序
               
            }
    
        
        public static int getResult(int a[]) {
            int min=a[0];//最小值
    
             for (int i = a.length - 1; i > 1 ; i--) {
              
                 for (int j = a.length - 1; j > 0; j--) {
    
                     if (a[i] - a[j-1] ==min) {
                       return min;
                     }
                 }
             }
            return -1;
        }
        
        public static void print(int src[]) {
             for (int i = 0; i < src.length; i++) {         
                    System.out.print(src[i] + " ");
                }
             System.out.println();
        }
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
              int a[] = {6,2,7,3,8,9};      
              print(a);
              sort(a, 0, a.length - 1);
              print(a);
              System.out.println(getResult(a));
        }
    
    }
  • 相关阅读:
    赋值、浅拷贝以及深拷贝的区别
    Python实现工厂模式
    Python实现代理模式
    select监听udp消息
    awk词频统计
    Python正则的贪婪和非贪婪示例
    js配置文件不缓存
    jquery事件命名空间和css-attr()
    iso移动Safari页面缓存
    javaWeb禁止http不安全请求方式
  • 原文地址:https://www.cnblogs.com/liuzhenping/p/7602834.html
Copyright © 2011-2022 走看看