国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【華為OD題庫(kù)-084】最長(zhǎng)連續(xù)子序列-Java

這篇具有很好參考價(jià)值的文章主要介紹了【華為OD題庫(kù)-084】最長(zhǎng)連續(xù)子序列-Java。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

題目

有N個(gè)正整數(shù)組成的一個(gè)序列。給定整數(shù)sum,求長(zhǎng)度最長(zhǎng)的連續(xù)子序列,使他們的和等于sum,返回此子序列的長(zhǎng)度。如果沒(méi)有滿足要求的序列,返回-1。
輸入描述
第一行輸入是:N個(gè)正整數(shù)組成的一個(gè)序列
第二行輸入是:給定整數(shù)sum
輸出描述
最長(zhǎng)的連續(xù)子序列的長(zhǎng)度
備注
輸入序列僅由數(shù)字和英文逗號(hào)構(gòu)成,數(shù)字之間采用英文逗號(hào)分隔。序列長(zhǎng)度:1<=N<= 200
輸入序列不考慮異常情況
示例1:
輸入
1,2,3,4,2
6
輸出
3
說(shuō)明
1,2,3和4,2兩個(gè)序列均能滿足要求,所以最長(zhǎng)的連續(xù)序列為1,2,3,因此結(jié)果為3.
示例2:
輸入
1,2,3,4,2
20
輸出
-1
說(shuō)明
沒(méi)有滿足要求的子序列,返回-1

思路

滑動(dòng)窗口法,以示例數(shù)據(jù)為例:1 2 3 4 2,目標(biāo)和targetSum為6
記i為窗口左邊界,j為窗口右邊界,輸入的數(shù)組為nums,初始和為curSum=nums[0]
如果curSum<targetSum,那么將j右移動(dòng),并更新當(dāng)前curSum+=nums[++j],先右移再更新,可能越界
如果curSum==targetSum,那么記錄此時(shí)窗口的長(zhǎng)度:j-i+1
如果curSum>targetSum,那么i右移,并更新當(dāng)前curSum-=nums[i–],先更新再右移,不會(huì)越界
最后考慮窗口保證有效,i,j不得超過(guò)nums范圍,循環(huán)條件注意加上:i<=j,否則:1 2 3 4 2,目標(biāo)和為0,無(wú)法通過(guò)。

題解

package hwod;

import java.util.Arrays;
import java.util.Scanner;

public class TheLongestContinueSubStr {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] nums = Arrays.stream(sc.nextLine().split(",")).mapToInt(Integer::parseInt).toArray();
        int sum = sc.nextInt();
        System.out.println(theLongestContinueSubStr(nums, sum));
    }

    private static int theLongestContinueSubStr(int[] nums, int sum) {
        int i = 0, j = 0, res = -1;
        int curSum = nums[0];
        while (i <= j && i < nums.length && j < nums.length) {
            if (curSum < sum) {
                j++;
                if (j < nums.length) curSum += nums[j];
            } else if (curSum >= sum) {
                if (curSum == sum) res = Math.max(res, j - i + 1);
                curSum -= nums[i];
                i++;
            }
        }
        return res;

    }
}

推薦

如果你對(duì)本系列的其他題目感興趣,可以參考華為OD機(jī)試真題及題解(JAVA),查看當(dāng)前專欄更新的所有題目。

說(shuō)明

本專欄所有文章均為原創(chuàng),歡迎轉(zhuǎn)載,請(qǐng)注明文章出處:https://blog.csdn.net/qq_31076523/article/details/134176793。百度和各類采集站皆不可信,搜索請(qǐng)謹(jǐn)慎鑒別。技術(shù)類文章一般都有時(shí)效性,本人習(xí)慣不定期對(duì)自己的博文進(jìn)行修正和更新,因此請(qǐng)?jiān)L問(wèn)出處以查看本文的最新版本。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-756469.html

到了這里,關(guān)于【華為OD題庫(kù)-084】最長(zhǎng)連續(xù)子序列-Java的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 799. 最長(zhǎng)連續(xù)不重復(fù)子序列 java

    799. 最長(zhǎng)連續(xù)不重復(fù)子序列 java

    目錄 算法描述 輸入格式 輸出格式 數(shù)據(jù)范圍 輸入樣例: 輸出樣例: 代碼 算法分析 給定一個(gè)長(zhǎng)度為?n??的整數(shù)序列,請(qǐng)找出最長(zhǎng)的不包含重復(fù)的數(shù)的連續(xù)區(qū)間,輸出它的長(zhǎng)度。 輸入格式 第一行包含整數(shù)?n?。 第二行包含?n??個(gè)整數(shù)(均在?0~1050~105?范圍內(nèi)),表示整

    2024年02月06日
    瀏覽(15)
  • leetcode 516. 最長(zhǎng)回文子序列(JAVA)題解

    leetcode 516. 最長(zhǎng)回文子序列(JAVA)題解

    題目鏈接 https://leetcode.cn/problems/longest-palindromic-subsequence/description/?utm_source=LCUSutm_medium=ip_redirectutm_campaign=transfer2china 目錄 題目描述: 暴力遞歸: 動(dòng)態(tài)規(guī)劃: 給你一個(gè)字符串? s ?,找出其中最長(zhǎng)的回文子序列,并返回該序列的長(zhǎng)度。子序列定義為:不改變剩余字符順序的情況

    2024年02月13日
    瀏覽(20)
  • 【華為OD題庫(kù)-083】玩牌高手-Java

    給定一個(gè)長(zhǎng)度為n的整型數(shù)組,表示一個(gè)選手在n輪內(nèi)可選擇的牌面分?jǐn)?shù)。選手基于規(guī)則選牌,請(qǐng)計(jì)算所有輪結(jié)束后其可以獲得的最高總分?jǐn)?shù)。 選擇規(guī)則如下: 1.在每輪里選手可以選擇獲取該輪牌面,則其總分?jǐn)?shù)加上該輪牌面分?jǐn)?shù),為其新的總分?jǐn)?shù)。 2.選手也可不選擇本輪牌面直

    2024年02月04日
    瀏覽(12)
  • 華為OD機(jī)試 - 最長(zhǎng)公共后綴(Java & JS & Python)

    題目描述 編寫一個(gè)函數(shù)來(lái)查找字符串?dāng)?shù)組中的最長(zhǎng)公共后綴; 如果不存在公共后綴,返回固定字符串: @Zero。 補(bǔ)充說(shuō)明: 字符串長(zhǎng)度范圍:[2, 1000] 字符串中字符取值范圍為[1, 126] 輸入描述 無(wú) 輸出描述 無(wú) 用例 輸入 [\\\"abc\\\",\\\"bbc\\\",\\\"c\\\"] 輸出 \\\"c\\\" 說(shuō)明 返回公共后綴: c 輸入 [\\\"aa\\\",\\\"b

    2024年02月13日
    瀏覽(25)
  • 華為OD-非嚴(yán)格遞增連續(xù)數(shù)字序列

    輸入一個(gè)字符串僅包含大小寫字母和數(shù)字 求字符串中包含的最長(zhǎng)的非嚴(yán)格遞增連續(xù)數(shù)字序列長(zhǎng)度 比如: 12234屬于非嚴(yán)格遞增數(shù)字序列 輸入一個(gè)字符串僅包含大小寫字母和數(shù)字 輸出字符串中包含的最長(zhǎng)的非嚴(yán)格遞增連續(xù)數(shù)字序列長(zhǎng)度 輸入 輸出 2234 為最長(zhǎng)的非嚴(yán)格遞增連續(xù)數(shù)

    2024年02月11日
    瀏覽(24)
  • 【免費(fèi)題庫(kù)】華為OD題庫(kù)C卷 - API集群負(fù)載統(tǒng)計(jì)(Java 代碼+解析)

    哈嘍,本題庫(kù)完全免費(fèi),收費(fèi)是為了防止被爬,大家訂閱專欄后可以私信聯(lián)系退款。感謝支持 某個(gè)產(chǎn)品的RESTful API集合部署在服務(wù)器集群的多個(gè)節(jié)點(diǎn)上,近期對(duì)客戶端訪問(wèn)日志進(jìn)行了采集,需要統(tǒng)計(jì)各個(gè)API的訪問(wèn)頻次,根據(jù)熱點(diǎn)信息在服務(wù)器節(jié)點(diǎn)之間做負(fù)載均衡,現(xiàn)在需要實(shí)

    2024年04月13日
    瀏覽(45)
  • 華為OD機(jī)試 - 尋找符合要求的最長(zhǎng)子串(Java & JS & Python)

    題目描述 給定一個(gè)字符串s,找出這樣一個(gè)子串: 該子串中任意一個(gè)字符最多出現(xiàn)2次 該子串不包含指定某個(gè)字符 請(qǐng)你找出滿足該條件的最長(zhǎng)子串的長(zhǎng)度 輸入描述 第一行為:要求不包含的指定字符,為單個(gè)字符,取值范圍[0-9a-zA-Z] 第二行為:字符串s,每個(gè)字符范圍[0-9a-zA-

    2024年02月05日
    瀏覽(19)
  • 華為OD機(jī)試 - 最長(zhǎng)合法表達(dá)式(Java & JS & Python & C)

    華為OD機(jī)試 - 最長(zhǎng)合法表達(dá)式(Java & JS & Python & C)

    題目描述 提取字符串中的最長(zhǎng)合法簡(jiǎn)單數(shù)學(xué)表達(dá)式,字符串長(zhǎng)度最長(zhǎng)的,并計(jì)算表達(dá)式的值。如果沒(méi)有,則返回 0 。 簡(jiǎn)單數(shù)學(xué)表達(dá)式只能包含以下內(nèi)容: 0-9數(shù)字,符號(hào)+-* 說(shuō)明: 所有數(shù)字,計(jì)算結(jié)果都不超過(guò)long 如果有多個(gè)長(zhǎng)度一樣的,請(qǐng)返回第一個(gè)表達(dá)式的結(jié)果 數(shù)學(xué)表達(dá)

    2024年02月04日
    瀏覽(15)
  • 【免費(fèi)題庫(kù)】華為OD題庫(kù)C卷 - We Are A Team(Java 代碼+解析)

    哈嘍,本題庫(kù)完全免費(fèi),收費(fèi)是為了防止被爬,大家訂閱專欄后可以私信聯(lián)系退款。感謝支持 總共有 n 個(gè)人在機(jī)房,每個(gè)人有一個(gè)標(biāo)號(hào)(1=標(biāo)號(hào)=n),他們分成了多個(gè)團(tuán)隊(duì),需要你根據(jù)收到的 m 條消息判定指定的兩個(gè)人是否在一個(gè)團(tuán)隊(duì)中,具體的: 消息構(gòu)成為 a b c,整數(shù) a、

    2024年04月12日
    瀏覽(20)
  • 矩陣匹配【華為OD機(jī)試JAVA&Python&C++&JS題解】

    從一個(gè)N M(N=M)的矩陣中選出N個(gè)數(shù),任意兩個(gè)數(shù)字不能在同一行或同一列,求選出來(lái)的N個(gè)數(shù)中第K大的數(shù)字的最小值是多少。 輸入描述: 輸入矩陣要求:1=K=N=M=150 輸入格式:N M K N M矩陣 輸出描述: N*M的矩陣中可以選出M!/N!種組合數(shù)組,每個(gè)組合數(shù)組中第K大的數(shù)中的最小值。

    2024年04月12日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包