震惊!某985高校的人leetcode做不出来,男默女泪。

LEETCODE DAY1

今天,练了一个题,题目不难,但是很多人写不出来,有大佬几行写完了,我也写不出来,所以我有必要写篇博客。

题目:1371. 每个元音包含偶数次的最长子字符串

这是我第一次写 leetcode 我不太懂,就吧一些变量放到了类的外面,一直编译不过,难受。后来,我发现了这个问题,但是还是过不了,原因是超时了,ojs 给了一个很长很长长得突破天际得一串字符,然后我那可怜的O(n^2)算法就慢出银河系了。


times = {
   
    'a': 1,
    'e': 1,
    'i': 1,
    'o': 1,
    'u': 1
};

yuanyin = "aeiou"
class Solution(object):
    def findTheLongestSubstring(self, s):
        lenth = len(s)
        li = []
        for i in range(lenth):
            li.append([])
        for j in range(lenth):
            if s[j] in yuanyin:
                times[s[j]] *= -1
            for value in times.values():
                li[j].append(value)
        maxN = 0
        N = 0
        li.insert(0, [1, 1, 1, 1, 1])
        le = len(li)
        for k in range(le):
            for l in range(le):
                if li[k] == li[l]:
                    N = l - k
                if N > maxN:
                    maxN = N
            return maxN

s = input('S: ')
Word = Solution()
num = Word.findTheLongestSubstring(s)
print(num)

因为字符串的每个位置的元音奇偶可能只有32种,朋友告诉我可以用一个表来哈希一下要快的多。我就弄了就
(当然表还是用另一个程序生成的,手写太累了)


class Solution(object):
	def findTheLongestSubstring(self, s):
		yuanyin = "aeiou"
		biao = {
   
			(1, 1, 1, 1, 1) :[-1, -1],
			(-1, 1, 1, 1, 1) :[-1, -1],
			(1, -1, 1, 1, 1) :[-1, -1],
			(-1, 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值