python 牛客 迴文序列
n=int(input())
num=list(map(int,input().split()))
cnt=0
p=0
q=n-1
lft=num[0]
rht=num[n-1]
while p<q:
if lft==rht:
p+=1
q-=1
lft=num[p]
rht=num[q]
elif lft<rht:
p+=1
lft+=num[p]
cnt+=1
else:
q-=1
rht+=num[q]
cnt+= 1
print(cnt)
相關推薦
python 牛客 迴文序列
n=int(input()) num=list(map(int,input().split())) cnt=0 p=0 q=n-1 lft=num[0] rht=num[n-1] while p<q: if lft==rht: p+=1 q-=1
牛客網線上程式設計(18):迴文序列-python
題目描述 如果一個數字序列逆置之後跟原序列是一樣的就稱這樣的數字序列為迴文序列。例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是迴文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是迴文序列。 現在給
python 牛客真題 統計迴文
s=input() t=input() def judge(s): ls=len(s) for i in range(ls//2): if s[i] != s[ls-1-i]: return False return True
網易2017秋招程式設計題:迴文序列 [python]
''' [程式設計題] 迴文序列 時間限制:1秒 空間限制:32768K 如果一個數字序列逆置之後跟原序列是一樣的就稱這樣的數字序列為迴文序列。例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是迴文序列, {1, 2, 2}, {15, 7
求解迴文序列問題
【問題描述】如果一個數字序列逆置後跟原序列是一樣的,則稱這樣的數字序列為迴文序列。 例如:{1,2,1}、{15,78,78,15}、{11,2,11}是迴文序列,而{1,2,2}、{15,78,87,51}、{112,2,11}不是迴文序列。現在給出一個數字序列,允許使用一種轉換操作:選擇任意兩個相鄰
python判斷是否迴文數
設n是一任意自然數。若將n的各位數字反向排列所得自然數n1與n相等,則稱n為一回文數。例如,若n=1234321,則稱n為一回文數;但若n=1234567,則n不是迴文數。 上面的解釋就是說迴文數和逆序後的結果是相等的。這就是判斷一個數值是否是迴文數的標
用python實現一個迴文數
判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文數。 示例
python 牛客真題 合唱團
n=int(input()) performance=list(input().split()) kd=list(input().split()) k=int(kd[0]) d=int(kd[1]) dp=[[0]*n for _ in range(k)] dp1=[[0]*n for _
python 牛客 小易喜歡的單詞
這裡可以用正則匹配這樣的騷方法 s=input() import re pattern1 = re.compile(r"[^A-Z]+") pattern2 = re.compile(r"([A-Z])\1") pattern3 = re.compile(r"([A-Z])[A-Z]*(
python 牛客 兩種排序方法
n=int(input()) list1=[] i=0 curl=1 f1=True while i<n: s1=input() if f1: if len(s1)<curl: f1=False curl=l
python 牛客 飢餓的小易
數學題 1.fg=gf 2.fff=gg start=int(input()) count1=0 count2=1 count3=2 m=1000000007 start1=start%m start2=(4*start1+3)%m start3=(4*start2+3)%m while
python 牛客真題 不要二
num=input().split() n=int(num[0]) m=int(num[1]) if m%4==2: m,n=n,m tmp1=(m+1)//2 tmp2=m-tmp1 mysum=0 for i in range(n): if i%4==0 or i%4==
python 牛客真題 幸運的袋子
DFS,需要剪枝 n=int(input()) num=list(map(int,input().split())) num.sort() def dfs(num,mysum,mymul): count=0 for i in range(len(num)):
python 牛客真題 混合原料
一道很讚的題目。遵循這樣一個最基本的思路,最大的數肯定不能通過異或生成,所以必須要取。遵循這個思路:除了這個最大的數其他所有與其位數相同的數都可以通過異或生成。再看異或這個操作本身的特殊性(不同為1,相同為0)即意味著如果最大的數的位數為4,那麼肯定要取到位數為3的最大數。 n=int(
python 牛客真題 數列還原
考察全排列? nk=list(input().split()) n=int(nk[0]) k=int(nk[1]) num=[int(c) for c in list(input().split())] m=[0]*(n+1) index=[] for i in range(n):
python 牛客真題 藏寶圖
s=input() t=input() l1=len(s) l2=len(t) i,j=0,0 while i<l1 and j<l2: if s[i]==t[j]: i+=1 j+=1 else: i+=1 if
python 牛客真題 分蘋果
改成 只能往相鄰移動的話難度會增加 n=int(input()) num=[int(c) for c in input().split()] if sum(num)%n !=0: print(-1) else: target=sum(num)//n flag =
python 牛客真題 分田地
二分貪心查詢 nm=list(input().split()) n=int(nm[0]) m=int(nm[1]) board=[[0]*m for _ in range(n)] count=0 while count<n: num=input() for j in
HDU1513 POJ1159 計蒜客 迴文串(DP)
迴文串#include <iostream> #include <string> #include <cstring> #include <cstdio> #include <cstdlib> #include &l
python 牛客網 你的輸出為:空。請檢查一下你的程式碼,有沒有迴圈輸入處理多個case。問題解決
你的輸出為:空。請檢查一下你的程式碼,有沒有迴圈輸入處理多個case。點選檢視如何處理多個case 核心:他這個程式測試正確與否的流程是 連續輸入多組測試資料進行測試,只有每組資料都對才行 所以必須使用下面的程式模組: 1 while True: 2 try