def find_longest_substr(s):
char_set = set()
left = 0
max_len = 0
for right in range(len(s)):
while s[right] in char_set:
char_set.remove(s[left])
left += 1
char_set.add(s[right])
max_len= max(max_len,right - left + 1)
return max_len
s = "abcabcbb"
print(find_longest_substr(s))
def three_nums(nums):
res = set()
n = len(nums)
for i in range(n):
for j in range(i+1,n):
for k in range(j+1,n):
if nums[i] + nums[j] + nums[k] == 0:
tmp = tuple(sorted([nums[i],nums[j],nums[k]]))
res.add(tmp)
return res
nums = [-1,0,1,2,-1,-4]
print(three_nums(nums))
def longest_subNums(nums):
nums_set = set(nums)
max_len = 0
for num in nums:
if num - 1 not in nums_set:
current_num = num
current_len = 1
while current_num + 1 in nums_set:
current_num += 1
current_len += 1
max_len = max(max_len,current_len)
return max_len
nums = [100,4,200,1,3,2,200]
print(longest_subNums(nums))
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0,2*np.pi,0.1)
y_sin = np.sin(x)
y_cos = np.cos(x)
plt.plot(x,y_sin,'b-',label = 'y= sin(x)')
plt.plot(x,y_cos,'r--',label = 'y= cos(x)')
plt.legend()
plt.show()
import pandas as pd
df = pd.read_csv("超市销售数据.csv")
print(df)
df['日期'] = pd.to_datetime(df['日期'])
print(df['日期'].dtype)
df['总销售额'] = df['销售数量'] * df['单价 (元)']
states = df.groupby("商品类别").agg({"总销售额":"sum","单价 (元)":"mean"})
print(states)
total_sales = df.groupby("会员等级 (普通/银卡/金卡)")['总销售额'].sum()
total_counts = df.groupby("会员等级 (普通/银卡/金卡)")['销售数量'].sum()
mean_sales = total_sales / total_counts
print(total_sales)
print(mean_sales)
df['月份'] = df['日期'].dt.month
total_sales = df.groupby('月份')['总销售额'].sum()
plt.bar(total_sales.index,total_sales)
plt.show()
df = df.sort_values('总销售额',ascending=False)
top5 = df[:5]['总销售额']
total_sales = df['总销售额'].sum()
top5_rate = top5 / total_sales
plt.pie(top5_rate,labels=top5_rate.index)
plt.show()


