退出循环后,我遇到了局部变量的一些问题.max尽管代码如下,变量的最终值为0:
max=0
cat tmp|while read line
do
temp=$(echo $line|tr -d "\n"|wc -c)
if [ $temp -gt $max ];then
max=$temp
echo $max
fi
done
echo -n tmp $max
cat tmp
12345
123456
Run Code Online (Sandbox Code Playgroud)
这是我收到的输出:
5
6
tmp 0
Run Code Online (Sandbox Code Playgroud)
我不明白为什么max在退出循环后为0,而在循环内它找到正确的值.
大家好,请帮助以下算法,
假设我们有序列(负号允许)4,3,-2,13,11,1,1,8,5我需要找到子序列与部件之间最大总和,而且成员之间的距离应为4至少在原始序列.例如子序列将是(13,8)= 21
感谢帮助.