爲了參加某公司的實習生招聘-開始刷題,做安全的菜鳥算法是硬傷。。。一個建築狗的程序員之路好艱難??,幸好才大二一切都來得及!!
Huawei text
#HuaWei14
number = int(input())
bins = bin(number)
flag = 0
for e in bins:
if e == '1':
flag += 1
print flag
#HuaWei13
num = input()
word = []
for i in range(num):
word.append(raw_input())
word.sort()
for b in word:
print b
#HuaWei12
word = raw_input().split(' ')
new = ''
for i in range(len(word)-1,-1,-1):
new += word[i]
new += ' '
print new
#HuaWei11
number = list(raw_input())
number.reverse()
num = ''
for i in number:
num += i
print num
#HuaWei10
string = raw_input()
result = ''
for i in string:
if ord(i) >= 0 and ord(i) <=127:
if i not in result:
result += i
print len(result)
#HuaWei9
s = raw_input()
s = list(s)
s.reverse()
L = []
for x in s:
if x not in L:
L.append(x)
print "".join(L)
#HuaWei8
a = input()
d = {}
for i in range(int(a)):
b = list(map(int, input().split(' ')))
if b[0] not in d.keys():
d[b[0]] = b[1]
else:
d[b[0]] += b[1]
for key in d.keys():
print(key, d[key])
#HuaWei7
number = float(raw_input())
if number - int(number) >= 0.5:
print (int(number) +1)
if number - int(number) < 0.5:
print int(number)
#HuaWei6 something can't understand totally
import sys
while True:
try:
num = int(raw_input())
i = 2
while num !=1:
if num%i==0:
print i,
num=num/i
else:
i+=1
print ''
except:
#HuaWei5 Tips:use try bypass wrong
while True:
try:
hex = raw_input()
if hex[:2] == '0x':
hex = hex[2:]
if hex.isalnum() == True:
print(int(hex,16))
else:
print"wrong"
except:
break
#HuaWei4
def panduan(string):
i = 0
if len(string) == 8:
print string
elif len(string) > 8:
m = len(string) / 8
for i in range(0,m):
print string[i*8:(i+1)*8]
if m != len(string) / 8.0:
print string[(i+1)*8:].ljust(8,'0')
elif len(string) < 8:
if string == ' ':
pass
else:
print(string.ljust(8,'0'))
if __name__ == "__main__":
s1 = raw_input()
s2 = raw_input()
panduan(s1)
panduan(s2)
#HuaWei3 這裏讀者自己加一下try crash
num = int(input())
number = []
result = []
for i in range(0,num):
ex = int(input())
number.append(ex)
for i in range(0,num):
if number[i] in result:
pass
else:
result.append(number[i])
result.sort()
print '\n'
for i in result:
print i
#HuaWei2
s = raw_input()
s = s.lower()
sub_str = raw_input()
sub_str = sub_str.lower()
flag = 0
for i in range(0,len(s)):
if s[i] == sub_str:
flag += 1
print flag
#HaWei1
s = raw_input()
flag = 0
for i in range(len(s)-1,-1,-1):
if s[i] == ' ':
break
else:
print s[i]
flag += 1
print flag
Leetcode:
Leetcode 1
class Solution(object):
def twoSum(self, nums, target):
for i in range(len(nums)):
text = target - nums[i]
for j in range(i+1,len(nums)):
if text == nums[j]:
return [i,j]
#************************************************
Leetcode 2
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def addTwoNumbers(self, l1, l2):
resultcode = None
addin = 0
while True:
if l1.val == -1:
l1.val = 0
if l2.val == -1:
l2.val = 0
tSum = (l1.val + l2.val + addin) % 10
addin = (l1.val + l2.val+addin)/10
listen = ListNode(tSum)
if resultcode == None:
resultcode = listen
flagNode = resultcode
else:
flagNode.next = listen
flagNode = flagNode.next
if l1.next != None:
l1 = l1.next
else:
l1.val = -1
if l2.next != None:
l2 = l2.next
else:
l2.val = -1
if l1.val == -1 and l2.val == -1:
break
if addin != 0:
listen = ListNode(addin)
flagNode.next = listen
return resultcode
"""
:type l1: ListNode
:type l2: ListNode
:rtype: ListNode
"""
****************************************************
leetcode 3
class Solution(object):
def lengthOfLongestSubstring(self, s):
d = ""
f = ""
for i in range(len(s)):
if s[i] not in f:
f += s[i]
else:
if len(d) < len(f):
d = f
f = f[f.index(s[i])+1::] + s[i]
return max(len(d), len(f))
#*******************************************************
leetcode4
class Solution(object):
def findMedianSortedArrays(self, nums1, nums2):
array = nums1 + nums2
array = sorted(array)
lon = len(array)
if lon % 2 == 1:
mid = array[lon / 2]
else:
mid = (float(array[lon // 2 -1]) + float(array[lon // 2])) /2
return mid
#***********************************************************
leetcode5 -.-
class Solution(object):
def longestPalindrome(self, s):
"""
:type s: str
:rtype: str
"""
size = len(s)
if size == 1:
return s
if size == 2:
if s[0] == s[1]:
return s
return s[0]
maxp = 1
ans = s[0]
i = 0
while i < size:
j = i + 1
while j < size:
if s[i] == s[j]:
j += 1
else:
break
k = 0
while i - k - 1 >= 0 and j + k<= size - 1:
if s[i- k - 1] != s[j + k]:
break
k += 1
if j - i + 2*k > maxp:
maxp = j- i + 2*k
ans = s[i - k:j + k]
if j + k == size - 1:
break
i = j
return ans
其中還有很多不會做的,看的答案,果然自己還是很菜。慢慢進階,慢慢來,不懂的多看看,算法,碼代碼能力一直都有用