求[tex=0.643x0.786]SBMIs+VUk7//BOpfqlQl0w==[/tex]个实数序列的连续项的最大和问题。当所有的项都是正数时,所有项之和就给出了答案,但是当某些项是负数时情况就比较复杂了。例如,序列-2,3,-1,6,-7,4的连续项的最大和是[tex=5.929x1.357]T7DxwuoWCicMLIvOSj8HYw==[/tex]。使用伪码描述一个求解该问题的算法,这个算法依次寻找从第一项开始的连续项之和,从第二项开始的连续项之和,等等,并在算法执行时记录当前找到的最大和。
举一反三
- 求[tex=0.643x0.786]SBMIs+VUk7//BOpfqlQl0w==[/tex]个实数序列的连续项的最大和问题。当所有的项都是正数时,所有项之和就给出了答案,但是当某些项是负数时情况就比较复杂了。例如,序列-2,3,-1,6,-7,4的连续项的最大和是[tex=5.929x1.357]T7DxwuoWCicMLIvOSj8HYw==[/tex]。依照所做的计算和的次数与比较次数确定算法的计算复杂度。
- 用伪代码描述一个蛮力算法,当给定[tex=0.643x0.786]SBMIs+VUk7//BOpfqlQl0w==[/tex]个正整数的序列作为输人时,该算法判定序列中是否存在两个不同的项其和是第三项。算法应该对序列项的所有三元组作循环,检查前两项之和是否等于第三项。
- 输入一个正整数 [tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex], 输出 [tex=11.571x1.357]VVBIvY6wt30L+MtVxCfju0zlL8jvgeZN7lKRvTbP1CRua6BF+hn6J6Z4pZvbFLMa[/tex] 的前 [tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex] 项之和,保留 2 位小数。(该序列从 第二项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)。
- 用[tex=3.5x1.357]19/oczesNjrNssYaUdT48g==[/tex]语言描述下列算法,并给出算法的时间复杂度。[tex=1.286x1.357]VAHhaW1te0xvoqDVN54/dg==[/tex]求一个[tex=0.643x0.786]SBMIs+VUk7//BOpfqlQl0w==[/tex]阶方阵的所有元素之和。[tex=1.286x1.357]BEB68bP4vOVk/XYYizw11w==[/tex]对于输入的任意三个整数,将它们按从小到大的顺序输出。[tex=1.286x1.357]H6tHfFjOZ3ZWdB4qPQ9Ocg==[/tex]对于输入的任意[tex=0.643x0.786]SBMIs+VUk7//BOpfqlQl0w==[/tex]个整数,输出其中的最大和最小元素。
- 在[tex=0.643x0.786]SBMIs+VUk7//BOpfqlQl0w==[/tex]个自然数的序列中寻找最小自然数的算法需要使用多少次比较?