力扣网-盛最多水的容器

问题

image-20220206201231096

image-20220206201248167

思路编写

  • 数组的两次遍历
    • 找出两条线段的小者,然后通过计算(j-i)*min(a[i], a[j])

编程实现

暴力匹配

    public int maxArea(int[] height) {
        if (height.length<2) {
            return 0;
        }
        int maxArea = 0;
        for (int i=0; i<height.length - 1; i++) {
           for (int j=i+1;j<height.length; j++) {
               int small = Math.min(height[i], height[j]);
               int area = small * (j - i);
               if (area > maxArea) {
                   maxArea = area;
               }
           }
        }
        return maxArea;
    }

该版本遇到了如下的问题:

image-20220206212901571

 想不出来好的思路,怎么加速计算。能够通过了55个测试用例,说明基本的计算过程是正确的。这是暴力的算法,复杂度是o(n2)

动态规划

 下图是参考了别人的动态分析过程,梳理的代码。其实不是动态规划思想,而是选择匹配。

image-20220206215229478

    public int maxArea(int[] height) {
        int maxArea = 0;
        int i = 0;
        int j = height.length - 1;
        while (i<j) {
            if (Math.min(height[i], height[j]) * (j - i) > maxArea) {
                maxArea = Math.min(height[i], height[j]) * (j - i);
            }
            if (height[i]>height[j]) j--;
            else i++;
        }

        return maxArea;
    }

image-20220206220643890

总结

 力扣网编程题目继续进行了,这一天一道题目,也算是学了一些东西。年纪越大越理解家和万事兴的重要性,希望每个读者家庭在新的一年里都能和美平凡,好好沟通。

 在家里的时候,特别容易与我爸起冲突,自己真的是问题很多,应该好好修炼沟通,沟通和表达应该是平稳顺畅的,在家里不是讲对错的,而是要讲究平和温馨的气氛。所以,如果读者你经常不理解自己的父母,甚至很大声的与父母说话,讨厌父母的唠叨,那请一定要耐心一点,听听他们内心的声音。比如说父母说了刺耳的话,或者不是自己喜欢的话,或者我爸醉酒了,或者说没喝醉却醉态百出,感觉很生气,那就是自己修炼的时候了,因为那代表了另外一种声音,一种我们抗拒的声音,而我们作为观察者,不要直接用强烈的语言、或者肢体动作反对,这虽然是本能,但如果我们能在哪一刻止住自己的愤怒的情感表达,我想,那才是我们真正成长的时刻,因为我们接纳了这样的声音,没有瞬间的情感失控(这也算是一种情绪管理),这样我们的世界少了冲突,多了平和,这样我们便超越了本能,不要本能的反驳,要直接接纳所有的反馈,细细回味那些让自己刺耳,不如意的声音,这样,或许就能做到传统文化中的孝顺的顺字了。当然这不仅仅是在我们的家庭生活中,而是无论在何时何地,愿意倾听那些与现在的自己所在的层次不一样的,让自己愤怒的声音,或许都能够折射自己的生命问题,理解这些问题之后,或许我们就能更好的处理这些生命境遇,我们才能真正的改变自己的生活态度。

 或许我们真的应该感谢冲突和问题。仔细的观察沟通,和沟通的双方的表达方式柔和的处理真的或许就会有不一样的表现。

 还是要感谢瑞·达利欧的《原则》这本书,目标-问题-诊断-方案-践行的五位一体真的是值得好好体会和反复实践的。

 无论遭遇多么糟糕的处境,都要让内心澄澈下来,安静下来,越糟糕的处境,越是修炼的绝佳场所。

2022年2月6日22:43:13于宋营。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值