The following is the time to take time to brush the first 5 questions, are the solution of their own, perhaps not the optimal solution, just finishing, convenient for future optimization and promotion
1. The Sum of the sums:
class Solution: # @return A tuple, (index1, index2) def twosum (self, num, target): = {} for in xrange (len (num)): if dict.get ( Target-num[i], none) = = None := I else: return (Dict[target-num[i]], i)
2. Add the Numbers:
classsolution (object):defaddtwonumbers (self, L1, L2):""": Type L1:ListNode:type l2:ListNode:rtype:ListNode""" More=0 L3=listnode (0) L3.val=l1.val+l2.val+ Moreifl3.val>=10: More=1Else: More=0 L3.val=l3.val%10l1_temp=L3 L1=L1.next L2=L2.next while(L1 andL2): Temp=listnode (0) Temp.val=l1.val+l2.val+ Moreiftemp.val>=10: More=1Else: More=0 Temp.val=temp.val%10L1_temp.next=Temp L1_temp=temp L1=L1.next L2=L2.nextif((L1 isNone) and(L2 isNone)):ifMore==1: Temp=listnode (0) Temp.val=1L1_temp.next=TempreturnL3elif(L1 and(L2 isNone)): while(L1): Temp=listnode (0) Temp.val=more+L1.valiftemp.val>=10: More=1Else: More=0 Temp.val=temp.val%10L1_temp.next=Temp L1_temp=temp L1=L1.nextifMore==1: Temp=listnode (0) Temp.val=1L1_temp.next=TempreturnL3elif(L2 and(L1 isNone)): while(L2): Temp=listnode (0) Temp.val=more+L2.valiftemp.val>=10: More=1Else: More=0 Temp.val=temp.val%10L1_temp.next=Temp L1_temp=Temp L2=L2.nextifMore==1: Temp=listnode (0) Temp.val=1L1_temp.next=TempreturnL3
3. Longest Substring without repeating characters:
classsolution (object):deflengthoflongestsubstring (self, s):""": Type S:str:rtype:int"""New_str="'Max=0 forChinchS:if notChinchNew_str:new_str+=CHElse: Max= Len (NEW_STR)ifLen (NEW_STR) > MaxElseMax IDX=new_str.find (CH) new_str= new_str[idx+1:] +CH Max= Len (NEW_STR)ifLen (NEW_STR) > MaxElseMaxreturnMax
4. Median of Sorted Arrays:
classsolution (object):deffindmediansortedarrays (self, NUMS1, NUMS2):""": Type Nums1:list[int]: type Nums2:list[int]: rtype:float"""End1=len (NUMS1)-1End2=len (NUMS2)-1ifLen (nums1) = =0:num=Len (NUMS2)ifnum%2:#num is an odd returnFloat (NUMS2[NUM/2]) Else: Median=num/2return(Float (nums2[median-1]) +nums2[median])/2elifLen (nums2) = =0:num=Len (nums1)ifnum%2:#num is an oddMedian=num/2returnfloat (Nums1[median])Else: Median=num/2return(Float (nums1[median-1]) +nums1[median])/2elifnums1[end1]<nums2[0]: nums1.extend (NUMS2) Num=Len (nums1)ifnum%2:#num is an oddMedian=num/2returnfloat (Nums1[median])Else: Median=num/2return(Float (nums1[median-1]) +nums1[median])/2elifNums1[0]>Nums2[end2]: nums2.extend (nums1) Num=Len (NUMS2)ifnum%2:#num is an odd returnFloat (NUMS2[NUM/2]) Else: Median=num/2return(Float (nums2[median-1]) +nums2[median])/2Else: I=0 J=0 New=[] whileI<len (NUMS1) andj<Len (NUMS2):ifnums1[i]<Nums2[j]: New.append (nums1[i]) I=i+1elifnums1[i]==Nums2[j]: New.append (Nums1[i]) new.append (nums1[i]) I=i+1J=j+1Else: New.append (Nums2[j]) J=j+1 whilei<Len (nums1): New.append (Nums1[i]) I=i+1 whilej<Len (NUMS2): New.append (Nums2[j]) J=j+1Num=Len (new)ifnum%2:#num is an odd returnFloat (NEW[NUM/2]) Else: Median=num/2return(Float (new[median-1]) +new[median])/2
5. Longest palindromic Substring:
classsolution (object):defLongestpalindrome (self, s):""": Type S:str:rtype:str""" ifLen (s) ==1: returnselifLen (s) ==2 andS[0]==s[1]: returnsElse: S_fin1=""s_fin2=""index_l=0 Index_r=1Max_length=0 Left=-1 Right=-1Flag=0 whileindex_r<Len (s): I=0 Length=0 whileIndex_l-i>=0 andIndex_r+i<len (s) ands[index_l-i]==s[index_r+i]: I=i+1length=length+2ifLength>Max_length:max_length=length Left=index_l Right=Index_r index_l=index_l+1Index_r=index_r+1ifMax_length:begin=left-max_length/2+1End=right+max_length/2Flag=2s_fin1=S[begin:end] Index=1Max_length=1Center=-1Flag=0 whileindex< (Len (s)-1): I=1length=1 whileIndex-i>=0 andIndex+i<len (s) ands[index-i]==s[index+i]: I=i+1length=length+2ifLength>Max_length:max_length=Length Center=Index Index=index+1ifMax_length>1: Begin=center-(max_length-1)/2End=center+ (max_length-1)/2+1Flag=1s_fin2=S[begin:end]ifLen (s_fin1) >Len (s_fin2):returns_fin1Else: returnS_fin2
Leetcode:1-5 Problem Code Collation