迴圈的套路

2021-08-08 07:28:07 字數 784 閱讀 7899

迴圈有些不好掌握,有的人只會寫迴圈條件、卻不知道迴圈體裡面寫些什麼 ,現在就來說一下迴圈的套路吧!!!

一、迴圈四要素

(1)初始狀態

(2)迴圈條件

(3)迴圈體(要重複做的事情)

(4)為下次迴圈作準備()

當我們需要用到迴圈時,如果沒有思路,先回答一下四個問題??

(1)初始狀態是怎樣的?

(2)重複做的條件是什麼

(3)重複做什麼

(4)怎麼過渡到下一次迴圈

舉例:計算圓周率, π =(1 - 1/3 + 1/5 - 1/7 + ……)*4,計算到最後一項的絕對值小於10-6

分析:將公式稍微變化一下

1 - 1/3 + 1/5 - 1/7 +

變化為(+1/1)+(-1/3)+(+1/5)+(-1/7)

那麼它和1+2+3+……+10問題就非常類似了,即都是求累加和的問題,只不過每次加的內容不同而已。

我們可以將每一項拆分為三部分:

t = 符號*1/分母

(1)初始狀態是怎樣的?

sum = 0;

t = 1;

sign = 1;

deno = 1;

(2)重複做的條件是什麼

|t|>=10-6

(3)重複做什麼

sum += t;

(4)怎麼過渡到下一次迴圈

sign = -sign;

deno += 2;

t = sign*1/deno;

這樣一來,可以即為有效的幫助我們理清思路。

推薦的套路

1.推薦的本質是什麼?是內容和資料。資料指的是使用者的行為資料。沒公尺是做不了飯的,沒有資料任何演算法都是走不通的。很多高大上的詞,使用者畫像什麼的,本質上都是對使用者行為資料的抽象而已。另外,給內容打標籤 打質量係數分也可以用使用者行為資料。推薦的本質,就是根據使用者行為資料,提供更滿足使用者的內...

系統設計的套路

區別就是層級不同 架構風格 設計模式 慣用法。在需求分析與軟體設計之間有乙個銜接。分為結構化設計和物件導向設計。通常,我們這些半吊子水準,一知半解的人,什麼概要設計 詳細設計張嘴就來。但事實上,這兩個概念 於結構化設計。目前來說,物件導向設計才是主流。sd和ood就好像中西醫結合一樣,二者結合著用。...

LeetCode的若干套路

1.儲存有限個型別,用陣列索引代替。leetcode1010 在歌曲列表中,第 i 首歌曲的持續時間為 time i 秒。返回其總持續時間 以秒為單位 可被 60 整除的歌曲對的數量。形式上,我們希望索引的數字 i 和 j 滿足 i j 且有 time i time j 60 0。示例 1 輸入 3...