如何优化企业网站以吸引贺州市住房与城乡建设局的访客?
摘要:企业网站框架,贺州市住房与城乡建设局网站,打鱼网站怎么做,无锡网站建设f7wl思路:对于输入的的字符串,只有三种可能,ipv4,ipv6,和neith
企业网站框架,贺州市住房与城乡建设局网站,打鱼网站怎么做,无锡网站建设f7wl思路#xff1a;对于输入的的字符串#xff0c;只有三种可能#xff0c;ipv4,ipv6,和neither
ipv4:四位#xff0c;十进制#xff0c;无前导0#xff0c;小于256
ipv6:八位#xff0c;十六进制#xff0c;无多余0#xff08;00情况不允许#xff09;#xff0c;不…
思路对于输入的的字符串只有三种可能ipv4,ipv6,和neither
ipv4:四位十进制无前导0小于256
ipv6:八位十六进制无多余000情况不允许不为空
class Solution: def solve(self , IP: str) - str: if . in IP: #有可能是IPV4 res IP.split(.) if len(res) 4: #满足4位 for i in res: try: #满足十进制 a int(i) except: return Neither else: if len(str(int(i))) ! len(i): #前导0判断 return Neither elif int(i) 255: #255判断 return Neither return IPv4 #如果没有提前盘错退出就一定是IPV4 else: return Neither elif : in IP: #有可能是IPV6 res IP.split(:) if len(res) 8: #满足8位 for i in res: try: #满足16进制 a int(i,16) except: return Neither if i or i.count(0) len(i) and len(i) ! 1 or len(i) 4: #非空16比特0不多余 return Neither return IPv6 else: return Neither else: return Neither 思路让两个指针i j,分别从两个字符串的最后一位开始向前遍历设置进位ind当i j都没有走到-1时如果当前和a ijind大于9那就res.insert(0,a-10)将ind置为1如果当前和小于等于9res.insert(0,a)将ind置为0.
跳出循环之后将剩余的部分和ind继续加和如果没有剩余ind为1就把ind insert到首位。
class Solution: def solve(self , s: str, t: str) - str: ind 0 #进位 i,j len(s)-1,len(t)-1 res [] while i 0 and j 0: a int(s[i]) int(t[j]) ind if a 9: res.insert(0,str(a)) ind 0 else: ind 1 res.insert(0,str(a-10)) i - 1 j - 1 if i -1: while j 0: 继续遍历剩下的 a int(t[j]) ind if a 9: res.insert(0,str(a)) ind 0 else: ind 1 res.insert(0,str(a-10)) j - 1 if j -1: while i 0: 继续遍历剩下的 a int(s[i]) ind if a 9: res.insert(0,str(a)) ind 0 else: ind 1 res.insert(0,str(a-10)) i - 1 if i -1 and j -1 and ind ! 0: #还有进位 res.insert(0,str(ind)) return .join(res) 思路先将区间按照start进行排序从小到大从前往后遍历区间[1,len-1]当前区间和前面的区间比较有三种可能当前区间被前面的区间完全覆盖当前区间start在前一个区间内end超出了前一个区间。这两种情况都可以直接更新当前的区间i.start min(i-1.start,i.start),i.end max(i-1.end,i,end)。最后一种情况是当前区间的start比前一个区间的end大两个区间不重复这种情况下就把前一个区间加入res中。前一个区间是合并后的。在最后将最后一个区间加入res。
