最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

2023-08-06:小青蛙住在一條河邊, 它想到河對(duì)岸的學(xué)校去學(xué)習(xí) 小青蛙打算經(jīng)過(guò)河里 的石

2023-08-06 17:30 作者:福大大架構(gòu)師每日一題  | 我要投稿

2023-08-06:小青蛙住在一條河邊, 它想到河對(duì)岸的學(xué)校去學(xué)習(xí)

小青蛙打算經(jīng)過(guò)河里 的石頭跳到對(duì)岸

河里的石頭排成了一條直線, 小青蛙每次跳躍必須落在一塊石頭或者岸上

給定一個(gè)長(zhǎng)度為n的數(shù)組arr,表示每塊兒石頭的高度數(shù)值

每塊石頭有一個(gè)高度, 每次小青蛙從一塊石頭起跳

這塊石頭的高度就會(huì)下降1, 當(dāng)石頭的高度下降到0時(shí)

小青蛙不能再跳到這塊石頭上(跳躍后使石頭高度下降到0是允許的)

小青蛙一共需要去學(xué)校上x(chóng)天課, 所以它需要往返x次(去x次,回x次)

當(dāng)小青蛙具有 一個(gè)跳躍能力y時(shí), 它能跳不超過(guò)y的距離。

請(qǐng)問(wèn)小青蛙的跳躍能力至少是多少才能用這些石頭上完x次課?

1 <= n <= 10^5,

1 <= arr[i] <= 10^4,

1 <= x <= 10^9。

來(lái)自藍(lán)橋杯練習(xí)題。

來(lái)自左神

答案2023-08-06:

#大體步驟如下:

1.讀取輸入:從輸入中讀取每塊石頭的高度數(shù)值和小青蛙需要上課的天數(shù)x。

2.初始化變量和數(shù)組:定義一個(gè)長(zhǎng)度為n的數(shù)組help用于保存每塊石頭的高度數(shù)值的累積和。初始化變量ans為0。

3.計(jì)算累積和:遍歷數(shù)組arr中的每個(gè)元素,計(jì)算它們的累積和,并保存到數(shù)組help中。

4.計(jì)算最小跳躍能力:使用雙指針?lè)ㄖ饌€(gè)計(jì)算每個(gè)起點(diǎn)石頭l到終點(diǎn)石頭r的跳躍能力。在每次迭代中,通過(guò)移動(dòng)r指針使得help[r] - help[l-1] >= 2*x,即小青蛙能從起點(diǎn)石頭跳躍到終點(diǎn)石頭。同時(shí),更新ans為當(dāng)前最大的能連續(xù)跳躍的石頭數(shù)量。

5.返回結(jié)果:返回ans作為小青蛙的最小跳躍能力。

總的時(shí)間復(fù)雜度為O(n),總的空間復(fù)雜度為O(n)。

go完整代碼如下:

package?main

import?(
????"fmt"
)

const?MAXN?=?100001

var?help?[MAXN]int
var?n,?x?int
var?sc?=?[]int{5,?1,?1,?0,?1,?0}
var?ii?=?0

func?next()?int?{
????ii++
????return?sc[ii-1]
}

func?hasNext()?bool?{
????return?ii?<?len(sc)
}

func?main()?{
????for?hasNext()?{
????????n?=?next()
????????x?=?next()

????????for?i?:=?1;?i?<?n;?i++?{
????????????val?:=?next()
????????????help[i]?=?help[i-1]?+?val
????????}
????????fmt.Println(minAbility())
????}
}

//?O(N)的最優(yōu)解
func?minAbility()?int?{
????ans?:=?0
????for?l,?r?:=?1,?1;?l?<?n;?l++?{
????????for?r?<?n?&&?help[r]-help[l-1]?<?2*x?{
????????????r++
????????}
????????ans?=?max(ans,?r-l+1)
????}
????return?ans
}

func?max(a,?b?int)?int?{
????if?a?>?b?{
????????return?a
????}
????return?b
}

在這里插入圖片描述

rust完整代碼如下:

const?MAXN:?usize?=?100001;

static?mut?HELP:?[i64;?MAXN]?=?[0;?MAXN];
static?mut?N:?i64?=?0;
static?mut?X:?i64?=?0;
static?mut?SC:?[i64;?6]?=?[5,?1,?1,?0,?1,?0];
static?mut?II:?usize?=?0;

fn?next()?->?i64?{
????unsafe?{
????????II?+=?1;
????????SC[II?-?1]
????}
}

fn?has_next()?->?bool?{
????unsafe?{?II?<?SC.len()?}
}

fn?main()?{
????unsafe?{
????????while?has_next()?{
????????????N?=?next();
????????????X?=?next();

????????????for?i?in?1..N?{
????????????????let?val?=?next();
????????????????HELP[i?as?usize]?=?HELP[i?as?usize?-?1]?+?val;
????????????}
????????????println!("{}",?min_ability());
????????}
????}
}

//?O(N)的最優(yōu)解
fn?min_ability()?->?i64?{
????let?mut?ans:?i64?=?0;
????unsafe?{
????????let?mut?l:?i64?=?1;
????????let?mut?r:?i64?=?1;
????????while?l?<?N?{
????????????while?r?<?N?&&?HELP[r?as?usize]?-?HELP[(l?-?1)?as?usize]?<?2?*?X?{
????????????????r?+=?1;
????????????}
????????????ans?=?max(ans,?r?-?l?+?1);
????????????l?+=?1;
????????}
????}
????ans
}

fn?max(a:?i64,?b:?i64)?->?i64?{
????if?a?>?b?{
????????a
????}?else?{
????????b
????}
}

在這里插入圖片描述

c++完整代碼如下:

#include?<stdio.h>

#define?MAXN?100001

int?help[MAXN];
int?n,?x;
int?sc[]?=?{?5,?1,?1,?0,?1,?0?};
int?ii?=?0;

int?next()?{
????ii++;
????return?sc[ii?-?1];
}

int?hasNext()?{
????return?ii?<?sizeof(sc)?/?sizeof(sc[0]);
}

int?min(int?a,?int?b)?{
????return?(a?<?b)???a?:?b;
}

int?max(int?a,?int?b)?{
????return?(a?>?b)???a?:?b;
}

int?minAbility()?{
????int?ans?=?0;
????for?(int?l?=?1,?r?=?1;?l?<?n;?l++)?{
????????while?(r?<?n?&&?help[r]?-?help[l?-?1]?<?2?*?x)?{
????????????r++;
????????}
????????ans?=?max(ans,?r?-?l?+?1);
????}
????return?ans;
}

int?main()?{
????while?(hasNext())?{
????????n?=?next();
????????x?=?next();

????????for?(int?i?=?1;?i?<?n;?i++)?{
????????????int?val?=?next();
????????????help[i]?=?help[i?-?1]?+?val;
????????}
????????printf("%d\n",?minAbility());
????}

????return?0;
}

在這里插入圖片描述

c完整代碼如下:

#include?<stdio.h>

#define?MAXN?100001

int?help[MAXN];
int?n,?x;
int?sc[]?=?{?5,?1,?1,?0,?1,?0?};
int?ii?=?0;

int?next()?{
????ii++;
????return?sc[ii?-?1];
}

int?hasNext()?{
????return?ii?<?sizeof(sc)?/?sizeof(sc[0]);
}

int?min(int?a,?int?b)?{
????return?(a?<?b)???a?:?b;
}

int?max(int?a,?int?b)?{
????return?(a?>?b)???a?:?b;
}

int?minAbility()?{
????int?ans?=?0;
????for?(int?l?=?1,?r?=?1;?l?<?n;?l++)?{
????????while?(r?<?n?&&?help[r]?-?help[l?-?1]?<?2?*?x)?{
????????????r++;
????????}
????????ans?=?max(ans,?r?-?l?+?1);
????}
????return?ans;
}

int?main()?{
????while?(hasNext())?{
????????n?=?next();
????????x?=?next();

????????for?(int?i?=?1;?i?<?n;?i++)?{
????????????int?val?=?next();
????????????help[i]?=?help[i?-?1]?+?val;
????????}
????????printf("%d\n",?minAbility());
????}

????return?0;
}

在這里插入圖片描述


2023-08-06:小青蛙住在一條河邊, 它想到河對(duì)岸的學(xué)校去學(xué)習(xí) 小青蛙打算經(jīng)過(guò)河里 的石的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
保德县| 河间市| 鸡泽县| 昆明市| 高陵县| 南澳县| 板桥市| 文安县| 班戈县| 平塘县| 高碑店市| 平湖市| 宜阳县| 建平县| 岳普湖县| 九江市| 时尚| 石棉县| 新干县| 巨鹿县| 茂名市| 天津市| 黄梅县| 灵丘县| 都匀市| 凌源市| 盱眙县| 庄河市| 泸溪县| 江城| 青岛市| 城固县| 南京市| 荣昌县| 板桥市| 岚皋县| 穆棱市| 黑龙江省| 津市市| 澄江县| 航空|