健身計畫評估

2021-09-26 18:48:45 字數 2642 閱讀 2701

題目描述:

你的好友是一位健身愛好者。前段日子,他給自己制定了乙份健身計畫。現在想請你幫他評估一下這份計畫是否合理。

他會有乙份計畫消耗的卡路里表,其中 calories[i] 給出了你的這位好友在第 i 天需要消耗的卡路里總量。

為了更好地評估這份計畫,對於卡路里表中的每一天,你都需要計算他 「這一天以及之後的連續幾天」 (共 k 天)內消耗的總卡路里 t:

如果 t < lower,那麼這份計畫相對糟糕,並失去 1 分;

如果 t > upper,那麼這份計畫相對優秀,並獲得 1 分;

否則,這份計畫普普通通,分值不做變動。

請返回統計完所有 calories.length 天後得到的總分作為評估結果。

注意:總分可能是負數。

示例 1:

輸入:calories = [1,2,3,4,5], k = 1, lower = 3, upper = 3

輸出:0

解釋:calories[0], calories[1] < lower 而 calories[3], calories[4] > upper, 總分 = 0.

示例 2:

輸入:calories = [3,2], k = 2, lower = 0, upper = 1

輸出:1

解釋:calories[0] + calories[1] > upper, 總分 = 1.

示例 3:

輸入:calories = [6,5,0,0], k = 2, lower = 1, upper = 5

輸出:0

解釋:calories[0] + calories[1] > upper, calories[2] + calories[3] < lower, 總分 = 0.

1 <= k <= calories.length <= 10^5

0 <= calories[i] <= 20000

0 <= lower <= upper

這是道簡單題,上週周賽第二個,不過這道題是個典型的滑動視窗題,和上次組合陣列中的所有的1很相似,所以拿來學習下滑動視窗的寫法套路也挺好的。

題目要求很簡單,k個一組作為乙個視窗。

我們只需要取陣列中前k個數作為第乙個視窗,計算總和,之後遍歷陣列,遍歷的同時計算積分。

每次滑動就是刪掉視窗中的第乙個數,同時在視窗末尾新增新的值,一直滑到陣列末尾即可

class

solution

for(

int i = k -

1; i < calories.

size()

; i++)if

(s > upper)

s -= calories[i - k +1]

;}return res;}}

;

最近做到乙個簡單的筆試題,求滑動視窗的最大值,寫法和上面類似,就是向右滑動時依次記錄最大值,我在下面貼下**

#include

using

namespace std;

int a[

10000];

intmain()

int maxm =0;

for(

int i =

0; i < k -

1; i++

)int res =

-100

;for

(int i = k -

1; i < n; i++

)printf

("%d\n"

, res)

;return0;

}

請你幫忙給從 1 到 n 的數設計排列方案,使得所有的「質數」都應該被放在「質數索引」(索引從 1 開始)上;你需要返回可能的方案總數。

讓我們一起來回顧一下「質數」:質數一定是大於 1 的,並且不能用兩個小於它的正整數的乘積來表示。

由於答案可能會很大,所以請你返回答案 模 mod 10^9 + 7 之後的結果即可。

示例 1:

輸入:n = 5

輸出:12

解釋:舉個例子,[1,2,5,4,3] 是乙個有效的排列,但 [5,2,3,4,1] 不是,因為在第二種情況裡質數 5 被錯誤地放在索引為 1 的位置上。

示例 2:

輸入:n = 100

輸出:682289015

1 <= n <= 100

分析:要求質數都得放在質數索引上

答案就是:質數個數的全排列 * 非質數個數的全排列(注意取模)

其實就是質數個數的階乘 * 非質數個數的階乘

class

solution

return

true;}

long

long

fac(

int n)

return res %

1000000007;}

intnumprimearrangements

(int n)

else

}return

fac(num1)

*fac

(num2)

%1000000007;}

};

學習 健身計畫

先說健身計畫 經過從三月初到現在兩個月的 我已近減掉8公斤的體重,估計一周之內能達到90kg的階段目標,然後向下乙個10kg進發,目標80kg,我敢肯定接下來減重的難度要大於之前。簡單說說前面的減重過程,主要是吃的改變,以前都是在公司吃盒飯,中午盒飯,晚上盒飯,有時候回家比較晚,到家以後再吃一頓,吃...

中級健身計畫

周一 胸 前臂外側 腹部 胸 平板 上斜臥推 8 6 6 8 上斜啞鈴飛鳥 12 10 12 10 龍門架夾胸 15 12 15 前臂外側 槓鈴反彎舉 12 10 10 12 啞鈴腕屈伸 25 20 20 25 腹肌 負重斜板捲腹 25 20 20 18 負重體側屈 25 20 20 18 卷腹肌負...

績效評估計畫

績效評估辦法 我們設定了以下幾個評分點,並給出相應的比重 1 目標實現 15 2 工作量 20 3 完成及時 20 4 積極性 10 5 團隊意識 20 6 學習情況 5 7 出勤率 5 8 團隊貢獻 5 第一階段績效評估 目標實現 15 工作量 20 完成及時 20 積極性 10 團隊意識 20 ...