今天透小菜參加了xx的資料分析實習生的筆試,
五道程式設計題目,還有兩道都沒來得及讀,前面三道通過率也沒達到百分之百。別問我為什麼這麼菜,我也不知道自己為啥子這麼菜,
現在來反思一下下,
首先,當然**練得不夠多是乙個原因,我發現我只會用for迴圈啊,過於菜了;
其次,在程式設計時候沒有形成框架,沒頭沒腦的開寫,下次試著先用注釋寫好思路,再加細完成每一步,考慮詳細的步驟吧;
還有,在第乙個題目case通過率67%的時候我還不滿足,調了半個小時調到80%,這個是時間浪費的讓我有點肝疼,這應該屬於筆試經驗不足,回頭多找些經驗貼在這。
有乙個很經典的問題是,當前時間是aa:bb,請問若干分鐘後是什麼時間?我們今天的問題是乙個相反的問題。
已知現在的時刻是星期x的yy:zz時刻,請問n分鐘前是週幾,時間是多少。例如現在是週三,02:10,則200分鐘之前,應該是周二,22:50。
輸入含三行:第一行乙個正整數x,表示今天是周x。(1<=x<=7)
第二行是乙個24小時制的時間表示,時和分均含前導0,例如,1時1分表示為01:01。保證時間格式是合法的。
第三行是乙個正整數n,表示要求的是n分鐘之前的時間。(1<=n<=10^9)
輸出:包含乙個正整數,表示n分鐘之前是週幾, 空格後面輸出時間。
乙個24小時制的時間表示,時和分均含前導0,例如,1時1分表示為01:01。表示n分鐘之前的時刻。
樣例輸入3 02:10 200樣例輸出2 22:50
改到最後自己也蒙了,不知道bug在哪,看到的大神能指點一下下:
n =
int(
input()
)#輸入星期幾
pretime =
str(
input()
) #輸入當前時間
hour =
int(pretime[0:
2]) #當前幾時
minu =
int(pretime[3:
5])#當前幾分
m =int
(input()
)#先從分鐘開始算
if m%
60<= minu:
minu -= m%
60else
: minu =60-
(m%60
- minu)
hour -=
1 #向小時借位
minu =
str(minu)
if minu>
9else
'0'+
str(minu)
#再計算小時
if(m//60)%24 <= hour:
hour -=
(m//60)%24
else
:
hour =24-
((m//60)%24- hour)
n = n-
1 #向星期借位
hour =
str(hour)
if hour>
9else
'0'+
str(hour)
#最後計算星期幾
n -= m//(60*24)
if n <=0:
n = n%
7time = hour+
':'+ minu
print
(n,time)
題目描述: 「我將帶頭衝鋒。」每乙個軍人如是說。某部隊舉辦了一屆軍事運動會,其中有乙個團體馬拉松專案,有n名選手按順序從起跑線出發,並且記錄下他們到達終點的順序。在跑步過程中超越了其他人的選手要給予表彰。
受表彰的選手需要滿足的條件是,如果存在一名出發順序排在選手x之後的選手y先於x到達終點,則認為y超越了x。
對於每乙個選手,只要他超越了任意乙個人,就有資格受到表彰。請你計算出有多少人可以得到表彰。
輸入:輸入第一行僅包含乙個正整數n,表示選手數量。(1<=n<=10^5)
輸入第二行包含n個正整數,是乙個1-n的排列a,表示出發順序,a[i]表示第i個出發的選手的編號。
輸入第三行同樣包含乙個1-n的排列b,表示到達順序,b[i]表示第i個到達的選手的編號。
輸出:輸出僅包含乙個整數,表示得到表彰的人數。
樣例輸入 :55 3 1 4 2
2 4 5 1 3
樣例輸出:
3
樣例解釋: 顯然除了5號和3號以外,其他人都可以受到表彰,因為他們均超越了3號。也是上來沒頭沒腦寫一通,思路簡單到沒有,
就是逐個檢查a裡面第二個開始的元素,在b中的索引是否小於它之前的任何乙個。
不知道大家有沒有好的思路.
n =
int(
input()
)a =
list
(map
(int
,input()
.split()
))b =list
(map
(int
,input()
.split()
))count =
0for i in range(1
,n):
for j in range (i)
:if b.
index
(a[i]
)< b.
index
(a[j]):
print
(a[i]
) count+=
1break
print
(count)
作為乙個程式設計師,修bug(補漏洞)是一項基本的工作。當你剛剛完成乙個工作的時候,甲方說你的程式裡面有n個bug。但是你已經很累了,你希望第一天修x個bug,第二天修[x/k]個bug,第三天修[x/k2]個bug,以此類推,第d天修[x/k^(d-1)]個bug,直到修不了bug為止。
[x]的意思是x向下取整。在k大於1的時候,總有一天會修不了乙個bug的。所以,你希望在這一天來臨之前,修完所有的bug。你要計算,你第一次至少要修多少個bug,即x的最小值為多少。
輸入輸入包含一行兩個整數n , k 分別代表漏洞總數和題目中的引數k
輸出輸出包含乙個數,即x的最小值
樣例輸入10 3
樣例輸出 8
提示 範圍 1<=n<=10^9 , 2<=k<=10
樣例解釋: 第一天修8個bug,第二天修2個bug,從第三天開始修不了bug,總共修了10個,修完了所有的bug。這個啊,在考試結束的時候我終於發現了錯在哪了,還沒來得及測試case如果第一天只修7個bug,那麼第二天只能修2個bug,從第三天修不了bug,總共修了9個bug,不能完成目標,所以第一天至少修8個bug。
也是無敵傻瓜式思路:
n,k =
map(
int,
input()
.split()
)for x in range
(n//k,n):
sum = x
i =1while
(k**i)
<=x:
print
(k**i)
sum += x//(k**i)
print
(x,i,sum)
i+=1if sum >= n:
print
(x)break
菜雞的資料分析入門筆記
分析問題 匯入資料 簡單檢視資料 head 獲取資料規模 shape 了解資料條目及資訊 dtypes,info ps 注意null情況,如果存在可能需要處理。了解資料的特點 describe ps 分為數字資訊和描述資訊。自己亂起的名 單變數分析 univariate analysis ps 對於...
python資料分析
以網路爬蟲為例,網路爬蟲是乙個自動提取網頁的程式,爬蟲是搜尋引擎的第一步,也是最容易的一部。網頁搜尋,建立索引,查詢排序 用c c 效率高,速度塊,適合通用搜尋引擎做往往爬取。但是它的缺點也特別明顯 開發慢,寫起來又臭又長的。而python無論在資料分析還是在指令碼自動化編寫尚都是簡單,易學的。良好...
python資料分析
陣列間的算術運算 npwhere pandas的使用 np.random.rand 3,4 產生乙個3行4列的矩陣 0 1之間的 in 32 data1 1,2,3,4.0 in 34 arr1 np.array data1 in 35 arr1 out 35 array 1.2.3.4.in 37...