資料連續化處理

2022-03-11 02:15:31 字數 1845 閱讀 7523

這裡先舉個簡單的例子,很多朋友以前一定寫過類似這樣的例子:求編寫一函式,輸入年月日,求出該日是該年的第幾天.

好的,現在大家**會怎麼寫呢?我的第一次**大概是這樣的:

intgetday(

intyear,

intmonth,

intday)

//最後在下是否閏年

}今天在fy**上看了連續化處理後,感悟頗深.對上面的**做了連續化處理:

**//

返回這天是那一年的第幾天

intgetday(

intyear, 

intmonth, 

intday);if

(year

%400==0

||(year

%100

&&year%4

==0))  

//判斷閏年

for(

inti=0

; i<

month-1

;i++

)return

sum;

}怎麼樣?簡浩很多吧.

這裡在舉個蛇形矩正輸出的例子:

輸入有多組資料,每組只有一行,包含x,y(1 <= x,y <= 30)和t,輸出x*y螺旋方陣,如果t=0,就輸出逆時針螺旋方陣,否則輸出順時針的

樣例輸入:

3 5 0

4 4 1

樣例輸出(每個數字要佔四個格仔,輸出完一組就接著輸出乙個空行):

1  12  11

2  13  10

3  14   9

4  15   8

5   6   7

1   2   3   4

12  13  14   5

11  16  15   6

10   9   8   7

連續化處理後的**:

**#define

set_xy(x,y,d) x=sym[d][0], y=sym[d][1]

intmain()

, , , }; 

//連續化處理的關鍵

while

(scanf(

"%d%d%d", 

&m, 

&n, 

&t) 

!=eof)

; //

初始化資料

intx, y, dx, dy, d, nstep =2

;for

(x =

1, y =m 

+1; x 

<=

n; x

++) 

//設定上下邊界

map[x][0] 

=map[x][y] =-

1;for(x =1

, y =n 

+1; x 

<=

m; x

++) 

//設定左右邊界

map[

0][x] 

=map[y][x] =-

1;x =

y =1; d =1

+(t ==0

);set_xy(dx, dy, d);

if(map[y

+dy][x

+dx]) 

//設定起始方向

for(map[1][

1] =1

;;nstep

++) 

//螺旋遍歷

}for

(y =

1; y 

<=

n; y

++) 

//輸出結果

printf("\n

");}system(

"pause");

return0;

}

資料歸一化和連續資料離散化處理

資料歸一化處理 1.0 1標準化 2.z score標準化 1.0 1標準化 將資料的最大最小值記錄下來,並通過max min作為基數,進行資料的歸一化處理 2.z score標準化 z分數,是乙個分數與平均數的差再除以標準差的過程 z值的量代表著原始分數和母體平均值之間的距離,是以標準差為單位計算...

使用pandas實現連續資料的離散化處理方式

python實現連續資料的離散化處理主要基於兩個函式,pandas.cut和pandas.qcut,前者根據指定分界點對連續資料進行分箱處理,後者則可以根據指定箱子的數量對連續資料進行等寬分箱處理,所謂等寬指的是每個箱子中的資料量是相同的。下面簡單介紹一下這兩個函式的用法 匯入pandas包 imp...

資料離散化處理

離散化,把無限空間中有限的個體對映到有限的空間中去,以此提高演算法的時空效率。通俗的說,離散化是在不改變資料相對大小的條件下,對資料進行相應的縮小。例如 原資料 1,999,100000,15 處理後 1,3,4,2 原資料 處理後 例如有時需要將資料直接作為陣列下標,但因為資料太大而無法開陣列時,...