- 博客(63)
- 收藏
- 关注
原创 codility MinAbsSum
Question:codility Lesson17 MinAbsSumMy Answer:def solution(A): newA = [abs(i) for i in A] totalsum = sum(newA) #print(totalsum) dic = {} for ele in newA: dic[ele] = dic.get(ele
2017-09-14 10:25:12
620
原创 codility NumberSolitaire
Question:codility Lesson17 NumberSolitaireMy Answer:def solution(A): maxnum = [A[0]] * (len(A) + 6) for i in range(1,len(A)): maxnum[i + 6] = max(maxnum[i : i + 6]) + A[i] return maxn
2017-09-14 10:23:39
523
原创 codility MinAbsSumOfTwo
Question:codility Lesson 15 MinAbsSumOfTwoMy Answer:def solution(A): lenA = len(A) A.sort() if A[0] >= 0: return A[0] + A[0] if A[-1] <= 0: return abs(A[-1] + A[-1]) fro
2017-09-13 09:50:25
417
原创 codility CountDistinctSlices
Question:codility Lesson15 CountDistinctSlicesMy Answer:def solution(M,A): front = 0 back = 0 lenA = len(A) res = 0 exist = [-1] * (M + 1) for front in range(lenA): if ex
2017-09-13 09:47:06
549
原创 codility CountTriangles
Question:codility Lesson15 CountDistinctSlicesMy Answer:def solution(A): A.sort() lenA = len(A) res = 0 for i in range(lenA - 2): k = i + 2 for j in range(i + 1,lenA - 1):
2017-09-13 09:44:06
563
原创 codility AbsDistinct
Question:codility Lesson15 AbsDistinctMy Answer:def solution(A): absdistinct = 1 head = 0 tail = len(A) - 1 cur = max(abs(A[0]),abs(A[-1])) # max abs num while head <= tail:
2017-09-13 09:38:02
408
原创 codility Max-Nonoverlapping-Segments
Question:codility Lesson16 Max-Nonoverlapping-SegmentsMy Answer:def solution(A,B): if len(A) < 2: return len(A) res = 1 end = B[0] for i in range(1,len(A)): if A[i] > end:
2017-09-11 22:28:23
680
原创 codility TieRopes
Question:codility Lesson16 Tie RopesMy Answer:def solution(K,A): res = 0 length = 0 for rope in A: length += rope if length >= K: res += 1 length = 0
2017-09-11 22:12:25
496
原创 codility Ladder
Question:codility Ladder QuestionMy Answer:def solution(A,B): ladder = max(A) maxB = max(B) fib = [0] * (ladder + 2) fib[1] = 1 for i in range(2,ladder + 2): fib[i] = ((fib[i
2017-09-07 13:59:42
593
原创 codility FibFrog
Question: codility Lesson13 FibFrogMy Answer:def fibonacci(n): fib = [1,1] while fib[-1] < n: fib.append(fib[-1] + fib[-2]) return fib[1:-1]def solution(A): jumps = fibonacci(le
2017-09-07 13:57:10
721
原创 codility CountNonDivisible
Question:codility Lesson11 CountNonDivisibledef solution(A): maxA = max(A) lenA = len(A) cnt = {} for ele in A: if ele not in cnt: cnt[ele] = 1 else:
2017-09-07 12:28:59
380
原创 codility CountSemiprimes
Question:codility Lesson11 CountSemiprimesMy Answer:from math import sqrtdef solution(N,P,Q): sieve = [True] * (N + 1) sieve[0] = False sieve[1] = False prime = [] i = 2 while i
2017-09-07 12:19:08
449
原创 codility CommonPrimeDivisors
Question:codility Lesson10 MinPerimeterRectangleMy Answer:def gcd(a,b): if (a % b == 0): return b else: return gcd(b,a%b)def solution(A,B): cnt = 0 for i in range(len(A
2017-09-04 15:28:27
449
原创 codility ChocolatesByNumbers
Question:codility Lesson12 ChocolatesByNumbersMy Answer:def gcb(a,b): if(a % b == 0): return b else: return gcb(b,a%b)def solution(N,M): return N/gcb(N,M)
2017-09-04 15:25:58
396
原创 codility Flags
Question:codility Lesson10 FlagsMy Answer:from math import sqrtdef solution(A): lenA = len(A) peakcnt = 0 nextpeak = [-1]*lenA firstpeak = -1 for i in range(lenA - 2,0,-1):
2017-09-02 20:37:01
514
原创 codility Peaks
Question:codility Lesson10 PeaksMy Answer:#!/usr/bin/env python3# -*- coding : utf-8 -*-from math import sqrtdef solution(A): lenA = len(A) if lenA < 3: return 0 peak = [0] * lenA
2017-09-02 20:33:52
605
原创 codility CountFactors
Question:codility Lesson10 CountFactorsMy Answer:def solution(N): res = 0 i = 1 while i * i < N: if N % i == 0: res += 2 i += 1 if i * i == N: res +=
2017-09-02 20:31:37
384
原创 codility MinPerimeterRectangle
Question:codility Lesson10 MinPerimeterRectangleMy Answer:from math import sqrtdef solution(N): for i in range(int(sqrt(N)),0,-1): if N % i == 0: return 2 * (i + N/i)
2017-09-02 20:28:59
366
原创 codility MaxProfit
Question:codility Lesson9 MaxProfitMy Answer:def solution(A): maxprofit = 0 max_ending = 0 for i in range(1,len(A)): max_ending = max(0,max_ending + A[i] - A[i - 1]) maxprof
2017-08-31 15:41:54
444
原创 codility MaxDoubleSliceSum
Question:codility Lesson9 MaxDoubleSliceSumMy Answer:def solution(A): lenA = len(A) maxdoublesum = 0 maxslice = 0 maxcur = 0 minele = A[1] if A[1] > 0 else 0 for i in range(2,len
2017-08-31 15:39:55
433
原创 codility MaxSliceSum
Question:codility Lesson9 MaxSliceSumMy Answer:def solution(A): max_slice_ending = A[0] max_slice = A[0] for ele in A[1:]: max_slice_ending = max(ele,max_slice_ending + ele)
2017-08-31 15:34:48
401
原创 codility Dominator
Question:codility Lesson8 DominatorMy Answer:def solution(A): lenA = len(A) candidate = -1 candidatecnt = 0 index = -1 for i in range(lenA): if candidatecnt == 0:
2017-08-31 15:32:01
323
原创 codility EquiLeader
Question:codility Lesson8 EquiLeaderMy Answer:def solution(A): lenA = len(A) candidata = -1 cnt = 0 for i in range(lenA): if cnt == 0: candidata = A[i] c
2017-08-31 15:29:40
362
原创 codility Nesting
Question:codility Lesson7 NestingMy Answer:def solution(S): if len(S) % 2 == 1: return 0 num = 0 for ele in S: if ele == "(": num += 1 else: n
2017-08-30 11:24:31
415
原创 codility StoneWall
Question:codility Lesson7 StoneWallMy Answer:def solution(H): blockcnt = 0 stack = [] for height in H: while len(stack) != 0 and stack[-1] > height: stack.pop()
2017-08-30 11:12:16
562
原创 codility Fish
Question:codility Lesson7 FishMy Answer:def solution(A,B): cnt = 0 downstream = [] downcnt = 0 for i in range(len(A)): if B[i] == 1: downstream.append(A[i]) e
2017-08-30 10:52:57
414
原创 codility Brackets
Question:codility Lesson7 BracketsMy Answer:def soluton(S): if len(S) % 2 == 1: return 0 nested = {"]":"[","}":"{",")":"("} half = ["[","{","("] stack = [] for ele in S:
2017-08-30 10:41:41
475
原创 codility MaxProductOfThree
Question:codility Lesson6 MaxProductOfThreeMy Answer:def solution(A): A.sort() return max(A[0] * A[1] * A[-1],A[-1] * A[-2] * A[-3])
2017-08-28 09:37:52
368
原创 codility Triangle
Question:codility Lesson6 TriangleMy Answer:def solution(A): A.sort() if len(A) < 3: return 0 for i in range(0,len(A) - 2): if A[i] + A[i + 1] > A[i + 2]: return
2017-08-28 09:29:05
368
原创 codility Distinct
Question:codility Lesson6 DistinctMy Answer:def solution(A): return len(set(A))
2017-08-28 09:27:23
352
原创 codility GenomicRangeQuery
Question: codility Lesson5 GenomicRangeQueryMy Answer:def solution(S,P,Q): res = [] slen = len(S) dic = {'A':1,'C':2,'G':3,'T':4} next_pos = [[-1] * slen,[-1] * slen,[-1] * slen,[-1] * s
2017-08-28 09:25:22
367
原创 codility MinAvgTwoSlice
Question:codility Lesson5 MinAvgTwoSliceMy answer:def solution(A): min_avg = (A[0] + A[1])/2.0 avg_pos = 0 for i in xrange(1,len(A) - 2): if (A[i] + A[i + 1]) / 2.0 < min_avg:
2017-08-23 11:05:54
325
原创 codility MaxCounters
Question:codility Lesson4 MaxCountersMy answer:def solution(N,A): res = [0] * N maxnum = 0 curmax = 0 for com in A: if 1 <= com <= N: if maxnum > res[com - 1]:
2017-08-23 11:03:16
515
原创 codility CountDiv
Question:codility Lesson5 CountDivMy answer:def solution(A,B,K): return B // K - A // K + (1 if A % K == 0 else 0)
2017-08-23 10:57:47
366
原创 codility PassingCars
Question:codility Lesson5 PassingCarsMy answer:def soluiton(A): east = 0 pairs = 0 for i in xrange(len(A)): #print i,A[i] if A[i] == 0: east += 1 elif A[i
2017-08-23 10:54:25
337
原创 codility FrogRiverOne
Question:codility Lesson4 FrogRiverOneMy answer:def solution(X,A): B = [0] * (X + 1) sumA = 0 for i in range(len(A)): if B[A[i]] == 0: B[A[i]] == 1 sumA += 1
2017-08-22 13:54:56
377
原创 codility PermCheck
Question:codility Lesson4 PermCheckMy answer:def solution(A): if set(A) == set(range(1, 1 + len(A))): return 1 else: return 0
2017-08-22 13:53:18
398
原创 codility MissingInteger
Question:codility Lesson4 MissingIntegerMy answer:def solution(A): B = set((i for i in A if i > 0)) if B: return next((i for i in range(1,len(B) + 2) if not i in B),1) return 1
2017-08-22 13:49:06
630
原创 codility TapeEquilibrium
Question:codility Lesson3 TapeEquilibriumMy answer:def solution(A): part1 = A[0] part2 = sum(A[1:]) minres = abs(part1 - part2) for i in range(1,len(A) - 1): part1 += A[i]
2017-08-22 13:46:59
426
原创 python小程序-简易计算器
Question : 实现加减乘除及括号优先级解析。 input:”1 - 2 * (3 + 5)” output : -15#!/usr/bin/env python3# -*- coding : utf-8 -*-import redef refresh_formula(formula): formula = formula.replace(" ","")
2017-08-21 09:58:24
3422
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人