精华内容
下载资源
问答
  • 局部最大值

    2014-07-08 23:03:55
    #include ...//输入一个数组和一个窗口,输出一个数组代表移动窗口的最大值 struct node {  int val;  int index;  node(int v, int i):val(v),index(i){} }; struct cmp {  bool operator
    #include <iostream>
    #include <queue>
    using namespace std;
    //输入一个数组和一个窗口,输出一个数组代表移动窗口的最大值
    struct node
    {
        int val;
        int index;
        node(int v, int i):val(v),index(i){}
    };
    struct cmp
    {
        bool operator()(const node& n1, const node& n2)
        {
            return n1.val < n2.val;
        }
    };
    void maxVal(int A[], int n, int w)
    {
        priority_queue<node, vector<node>, cmp> que;
        int re[w];
        for(int i=0; i<w; i++)
        {
            que.push(node(A[i], i));
        }
        for(int i=w; i<n; i++)
        {
            node t=que.top();
            re[i-w]=t.val;
            if(t.index<=i-w)
               que.pop();
            que.push(node(A[i],i));
        }
        re[n-w]=que.top().val;
        for(int i=0; i<=n-w; ++i)
            cout<<re[i]<<endl;
    }
    int main()
    {
        int a[]={8,1,7,3,9,7,3};
        maxVal(a, 7, 3);
        return 0;
    }
    展开全文
  • 求数组局部最大值 给定一个无重复元素的数组A[0…N-1],求找到一个该数组的局部最大值。规定:在数组边界外的值无穷小。即:A[0]>A[-1],A[N-1] >A[N]。 显然,遍历一遍可以找到全局最大值,而全局最大值显然是...
  • 局部最大值

    2016-05-03 20:46:00
    局部最大值问题: 给定一个无重复元素的数组A[0...N-1],找到一个该数组的局部最大值。 问题分析: 遍历一遍得全局最大值,它显然是局部最大值,但是时间复杂度是O(n),现在要求时间复杂度为O(logn)。 问题求解...

    求局部最大值问题:

    给定一个无重复元素的数组A[0...N-1],找到一个该数组的局部最大值。

    问题分析:

    遍历一遍得全局最大值,它显然是局部最大值,但是时间复杂度是O(n),现在要求时间复杂度为O(logn)。

    问题求解过程类似于二分查找,但是还不完全一样,需要分析清楚问题来源。问题中只需要求出一个局部最大值,并且数组中不考虑重复的元素。

    因此,可以每次取中间点,当A[mid] > A[mid+1]  丢弃后半段,right = mid; 当A[mid] < A[mid+1],丢弃前半段,left = mid+1。

    程序实现:

     1 /***************************************
     2 FileName LocalMaxiNum.cpp
     3 Author : godfrey
     4 CreatedTime : 2016/5/3
     5 ****************************************/
     6 #include <iostream>
     7 #include <cstring>
     8 #include <vector>
     9 #include <algorithm>
    10 #include <stdio.h>
    11 #include <stdlib.h>
    12 
    13 using namespace std;
    14 
    15 int LocalMaxiNum(const int* A,int size){
    16     int Left = 0;
    17     int Right = size - 1;
    18     int mid;
    19     while(Left < Right){
    20         mid = (Left + Right) / 2;
    21         cout<<"mid : "<<mid<<"  Left : "<<Left<<endl;
    22         if(A[mid] < A[mid+1]){
    23             Left = mid + 1;
    24         }
    25         else{
    26             Right = mid;
    27         }
    28     }
    29     return A[Left];
    30 }
    31 int main()
    32 {
    33     int a[] = {1,2,3,4,5,3,2,0,3,4,7,6,5};
    34     int LocMaxNum = LocalMaxiNum(a,sizeof(a)/sizeof(int));
    35     cout<<"one LocalMaxiNum : ";
    36     cout<<LocMaxNum<<endl;
    37     return 0;
    38 }

    运行结果:

    转载请注明出处:

    C++博客园:godfrey_88

    http://www.cnblogs.com/gaobaoru-articles/

    转载于:https://www.cnblogs.com/gaobaoru-articles/p/5456481.html

    展开全文
  • 矩阵局部最大值

    千次阅读 2017-11-25 11:50:49
    求矩形的局部最大值:给定m行n列的整数矩阵a如果a的非边界元素a[i][j]大于相邻的上下左右4个元素,那么就称元素a[i][j]是矩阵的局部最大值。要求输入给定矩阵的全部局部极大值及其所在位置。 #include int main()...

    求矩形的局部最大值:给定mn列的整数矩阵a如果a的非边界元素a[i][j]大于相邻的上下左右4个元素,那么就称元素a[i][j]是矩阵的局部最大值。要求输入给定矩阵的全部局部极大值及其所在位置。

    #include <stdio.h>

    int main()

    {

        int i,j,m,n,a[10][10];

        scanf("%d%d",&m,&n);

        for(i=0;i<m;i++)

        {

            for(j=0;j<n;j++)

            {

                scanf("%d",&a[i][j]);

            }

        }

        for(i=0;i<m;i++)

        {

            for(j=0;j<n;j++)

            {

               if(a[i][j]>a[i-1][j]&&a[i][j]>a[i+1][j]&&a[i][j]>a[i][j-1]&&a[i][j]>a[i][j+1])

               {

                   printf("%d %d %d\n",a[i][j],i+1,j+1);

               }

            }

        }

        return 0;

    }

     

    展开全文
  • 高原数组 局部最大值 https://blog.csdn.net/weixin_41563161/article/details/101027801 题目 给定一个无重复元素的数组A[0…N-1],求找到一个该数组的局部最大值。 规定:在数组边界外的值无穷小。 思想 ...

                                 高原数组 局部最大值

    https://blog.csdn.net/weixin_41563161/article/details/101027801

    题目


             给定一个无重复元素的数组A[0…N-1],求找到一个该数组的局部最大值。

             规定:在数组边界外的值无穷小。

    思想


             遍历一遍得全局最大值,它显然是局部最大值,但可否有更快的办法

             定义:若子数组Array[from,…,to] 满足Array[from]>Array[from-1]且Array[to]>Array[to+1],则称该数组为“高原数组”。

             于是:如果from和to退化为一个点,那这个点就是局部极大值点。于是我们就不停的切切切把高原数组切成一个点。
     

    算法描述

         

     

    public class Test5 {
        public static void main(String[] args) {
            int[] a = {3,5,1,2,6,7,14};
            System.out.println(maxLocal(a));
        }
        public static int maxLocal(int[] a){
            int left = 0;
            int right = a.length - 1;
            int mid = 0;
            while (left < right){
                mid = (right + left) / 2;
                System.out.println(a[mid]);
                if(a[mid] > a[mid+1]){
                    right = mid;
                }else {
                    left = mid +1;
                }
            }
            return a[left];
        }
    }
    

     

    时间复杂度


             时间复杂度为O(logN)。

     

    参考文献

    https://segmentfault.com/a/1190000019838473

    在这里插入图片描述

    展开全文
  • 1331:局部最大值

    2017-09-07 19:18:01
    1331:局部最大值 Description 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。...
  • 题目 给定一个无重复元素的数组A[0…N-1],求找到一个该数组的局部最大值。 规定:在数组边界外的值无穷小。思想 遍历一遍得全局最大值,它显然是局部最大值,但可否有更快的办法 定义:若子数组Array[from,…,...
  • 【Python】求数组局部最大值

    千次阅读 2018-06-19 21:12:26
    局部最大值 给定一个无重复元素的数组A[0…N-1],求找到一个该数组的局部最大值。规定:在数组边界外的值无穷小。即:A[0]>A[-1],A[N-1] >A[N]。 显然,遍历一遍可以找到全局最大值,而全局最大值显然是...
  • 求图像局部最大值

    千次阅读 2014-12-01 11:04:26
    应组长需求,需要得到图像中的局部最大值,他跟我说的思路是用滑动窗口来实现,在每个滑动窗口里面求一个最大值。在opencv里面找了一下,没有现成的函数,就开始打算梯度算子来求,我开始查找sobel算子的东西,找到...
  • 请问如果有一个数组,求数组中所有局部最大值的位置,在python中有现成的函数可以用吗? 问题的等价形式就是,假如有下面的波形,如何求出所有峰值的位置(注意不是最高峰,是所有的峰),有现成的函数可以用吗?...
  • scikit-image库--查找局部最大值(十)

    千次阅读 2019-08-13 19:09:27
    最大滤波器用于查找局部最大值。此操作将扩展原始图像,并合并相邻的局部最大值,使其小于扩展的大小。原始图像等于展开图像的位置将作为局部最大值返回。 peak_local_max (image, min_distance=1, threshold_abs=...
  • 用c++实现遗传算法找函数最大值,初学者写的东西,大神绕路
  • void LandmarkRegistration::LandmarkSegFixedImage(ImageTypeFloat::Pointer fixedimageHU, VectorPairInt &FixedLMIndex, VectorPair &...//局部极大计算中背景像素; double Fg_value = 1;//...
  • 我想要的是我想找到一个静止点列表,它们的值和位置,以及它们是最小值还是最大值.我的功能如下:import numpy as npdef func(x,y):return (np.cos(x*10))**2 + (np.sin(y*10))**2方法以下是我正在考虑使用的方法:>...
  • I have an image in MATLAB:y = rgb2gray(imread('some_image_file.jpg'));and I want to do some processing on it:pic = some_processing(y);and find the local maxima of the output. That is, all the points i...
  • 如果你遇到了 nums1 和 nums2 中都存在的,那么你可以切换路径到另一个数组对应数字处继续遍历(但在合法路径中重复数字只会被统计一次)。 得分定义为合法路径中不同数字的和。 请你返回所有可能合法路径中的...
  • 算法学习-局部最大值

    千次阅读 2016-11-23 11:49:26
    给定一个无重复元素的数组A[0...N-1],求找到一个该数组的局部最大值 规定:在数组边界外的值无穷小。即A[0]>A[-1],A[N-1]>A[N]。从而可得如下局部最大值的形式化定义: a=one of {a[i]|a[i]>a[i-1]且a[i]>a...
  • Given: R is an mxn float matrixOutput: O is an mxn matrix where O[i,j] = R[i,j] if (i,j) is a local max and O[i,j] = 0 otherwise. Local maximum is defined as the maximum element in a 3x3 block centere...
  • 有一个一维数组,求这个数组的和局部最大 例如 -100 1 9 -10 11 9 20 -1 -1 23(只是个例子,实际数组是输入的) 局部最大就是 11+9+20-1-1+23 用 c 怎么写,不要用3个for嵌套的那种方法
  • I am looking to find the peaks in some gaussian smoothed data that I have. I have looked at some of the peak detection methods available but they require an input range over which to search and I want...
  • 设置规则为:如果一条记录a的比前后2条记录的都大,则设置FLG为1; 如果前面两条记录中有跟记录a一样大的的时候,则把一样大的那条记录忽略,往前再多比较一条记录,直到有两条记录比记录a小。 如果后面两条...
  • <p>in php we can determine global maximum and global minimum of a array , but what we do for finding ...<img src="https://i.stack.imgur.com/opqvI.png" alt="enter image description here"></p> ... </div>
  • 3、 对于2中的结果,寻找其等于True的列与行就是对应的局部最大值坐标 例子如下—齿轮定位: 本打算采用找轮廓算法来确定每个零件的中心和半径,但是由于零件之间由重叠,找轮廓效果见下图 所以笔者采用的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,747
精华内容 698
关键字:

局部最大值