<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      第三天刷題

      關(guān)于今天打開了一道簡單題后開始懷疑人生這件事。。。

      53. 最大子數(shù)組和

       

      給你一個(gè)整數(shù)數(shù)組 nums ,請你找出一個(gè)具有最大和的連續(xù)子數(shù)組(子數(shù)組最少包含一個(gè)元素),返回其最大和。

       

      子數(shù)組 是數(shù)組中的一個(gè)連續(xù)部分。

       

       

       

      示例 1

       

      輸入:nums = [-2,1,-3,4,-1,2,1,-5,4]

      輸出:6

      解釋:連續(xù)子數(shù)組 [4,-1,2,1] 的和最大,為 6

       

      來源:力扣(LeetCode

      鏈接:https://leetcode-cn.com/problems/maximum-subarray

       

      糾結(jié)了很多版本的代碼后,發(fā)現(xiàn)無法考慮完全,我的思路為:后一個(gè)加到前面時(shí)變大就繼續(xù),變小就舍去,寫出了如下代碼,顯然是不可能ac的,

      class Solution {

          public int maxSubArray(int[] nums) {

              int max=nums[0];

              int[] ans=new int[nums.length];

              int flag=0;

              for(int i=1;i<nums.length;i++){

                  if(max+nums[i]>=max){

                      max=max+nums[i];

                  }else{

                      ans[flag]=max;

                      flag++;

                      max=nums[i];

                  }

              }

              Arrays.sort(ans);

              for(int i=0;i<nums.length;i++){

                  System.out.println(ans[i]);

              }

              return ans[ans.length-1];

          }

      }

      思考后發(fā)現(xiàn)這如果涉及到后一個(gè)或兩個(gè)減小了但后面的第三個(gè)變大了,把三個(gè)都加上的收益大于就此斷開,我完全無法解決。就此思路我想了個(gè)較為極端的,若是中間隔著十幾個(gè)-1而最后為100,我該怎么知道他后面還有個(gè)大數(shù)能彌補(bǔ)過程中的損失呢。想了很久,沒有想明白,去看題解了。

      贊最多為一個(gè)簡單但我沒太看懂原理的代碼:

      class Solution {

          public int maxSubArray(int[] nums) {

              int res = nums[0];

              int sum = 0;

              for (int num : nums) {

                  if (sum > 0)

                      sum += num;

                  else

                      sum = num;

                  res = Math.max(res, sum);

              }

              return res;

          }

      }

      [-2,1,-3,4,-1,2,1,-5,4]時(shí)

      i=0sum=0 num=-2-> sum=-2   res=-2

      I=1:  sum=-2 num=1->sum=1   res=1

      I=2: sum=1 num=-3->sum=-2    res=1

      I=3: sum=0 num=4->sum=4     res=4

      I=4:sum=4 num=-1->sum=3     res=4

      I=5:sum=3 num=2->sum=5     res=5

      I=6:sum=5 num=1->sum=6     res=6

      I=7:sum=6 num=-5->sum=1    res=6

      I=8:sum=1 num=4->sum=5     res=6

       

      理了一遍看懂思路了,當(dāng)和大于零時(shí)將后面的值加上,反之則將sum等于下一值,每一輪循環(huán)都比較全局變量ressum的大小。即sum大于零時(shí)比較res與子串和,小于等于0時(shí)比較比較res與此值大小。但判斷條件,sum是否大于0,這我還是沒有看懂,為什么以此為分界線呢。。。

      而當(dāng)我看見以動(dòng)態(tài)規(guī)劃作為思路的解時(shí)發(fā)現(xiàn),原來這就是動(dòng)態(tài)規(guī)劃:

       

       

      作者:LeetCode-Solution

      鏈接:https://leetcode-cn.com/problems/maximum-subarray/solution/zui-da-zi-xu-he-by-leetcode-solution/

      來源:力扣(LeetCode

       

       

      代碼如下:

      class Solution {

          public int maxSubArray(int[] nums) {

              int pre = 0, maxAns = nums[0];

              for (int x : nums) {

                  pre = Math.max(pre + x, x);

                  maxAns = Math.max(maxAns, pre);

              }

              return maxAns;

          }

      }

       

       

      58. 最后一個(gè)單詞的長度

       

      給你一個(gè)字符串 s,由若干單詞組成,單詞前后用一些空格字符隔開。返回字符串中 最后一個(gè) 單詞的長度。

       

      單詞 是指僅由字母組成、不包含任何空格字符的最大子字符串。

       

       

       

      來源:力扣(LeetCode

      鏈接:https://leetcode-cn.com/problems/length-of-last-word

       

      這題確實(shí)簡單題,去掉首尾空格后找到最后一個(gè)空格,用長度-1去減空格位置即可

      字符串中,trim()函數(shù)可去掉首位空格,lastIndexOf()函數(shù)可找到某個(gè)字符出現(xiàn)的最后位置,不過值得一提的是,其中的i是大寫- -,在這兒卡了好一會(huì)。

       

      代碼如下:

      class Solution {

          public int lengthOfLastWord(String s) {

              int k=0;

              s=s.trim();

              System.out.println(s);

              k=s.lastIndexOf(' ');

              return s.length()-k-1;

          }

      }

       

      翻了下答案,大家好像都在用split,記混了我以為splitpython獨(dú)有來著。。那split會(huì)更方便一些。

      今天還做了一些軟件工程的課程作業(yè),是設(shè)計(jì)頁面,不得不說我確實(shí)沒有什么審美,做的我好費(fèi)勁。

      posted @ 2022-03-16 23:58  水煮小白菜  閱讀(26)  評論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 日本肥老妇色xxxxx日本老妇| 久久99热只有频精品8| 久久亚洲精品人成综合网| 国产美女高潮流白浆视频| 狼色精品人妻在线视频| 2021国产成人精品久久| 欧美乱大交aaaa片if| 精品国产不卡在线观看免费| 本道久久综合无码中文字幕| 成人影片一区免费观看| 无码专区视频精品老司机| 亚洲产在线精品亚洲第一站一| 亚洲V天堂V手机在线| 无套内内射视频网站| 精品久久精品久久精品久久| 国产精品无码av不卡| 日本一区三区高清视频| 国产精品人成视频免| 美日韩av一区二区三区| 无码小电影在线观看网站免费| 中文字幕有码日韩精品| 国产涩涩视频在线观看| 国产一区二区一卡二卡| 亚洲中文字幕无码永久在线 | 兴安盟| 国产在线精品一区二区三区不卡 | 欧乱色国产精品兔费视频| 刚察县| 九九热在线免费播放视频| 久久午夜无码免费| 果冻传媒色av国产在线播放 | 和艳妇在厨房好爽在线观看| 国产一区二区三区亚洲精品| 欧美成本人视频免费播放| 88国产精品视频一区二区三区| 欧美搡bbbbb搡bbbbb| av中文字幕在线二区| 疯狂的欧美乱大交| 蜜桃av亚洲精品一区二区| 亚洲人成网线在线播放VA| 石嘴山市|