每天做个算法题

来源:互联网 发布:信融财富网络借贷 编辑:程序博客网 时间:2024/05/01 03:49

// 有31,-41,59,26,-53,58,97,-93,-23,84十个数。SUM(N,M)表示从第N个数到到第M个数的和。例如:SUM(2,3)=-41+59=18。问:最大的和是多少?对应的N和M是多少?
            int[] arr=new int[]{31,-41,59,26,-53,58,97,-93,-23,84};
            int max = 0;
            int tempmax = 0;
            int M = 0;
            int N = 0;
            int len=arr.Length ;
         
            for (int i = 0; i < len - 1; i++)
            {
                for (int j = 1; j < len; j++)
                {
                    if (i != j)
                    {
                        tempmax = 0;
                        for (int start = i; start <= j; start++)
                        {
                            tempmax += arr[start];
                        }
                         if (max < tempmax)
                         {
                             max = tempmax;
                             M = i;
                             N = j;
                         }
                    }
                }
            }            Response.Write(max + "<br>" + (M+1) + "<br>" + (N+1) + "<br>");

原创粉丝点击