2023届校招奇安信秋招0825笔试题
1.1 题目
给出一个有向无环图,判断从起点到终点的路径有多少条。
1.2 分析
dp题
1.3 代码
2.1 题目
2.2 思想
其实这题的思想还是很难想的,主要是双指针。
2.3 代码
# class Solution():
# def __init__(self):
# pass
# def solve(self):
# s = input().strip("[]")
# nums = list(map(int,s.split(",")))
# max_res = 0
# for i in range(len(nums)):
# for j in range(len(nums)):
# max_res = max(max_res,abs(i-j) * min(nums[i],nums[j]))
# print(max_res)
# s = Solution()
# s.solve()
class Solution():
def __init__(self):
pass
def solve(self):
s = input().strip("[]")
nums = list(map(int,s.split(",")))
max_res = 0
left,right = 0,len(nums)-1
while(left <right):
cur_res = (right-left) * min(nums[left],nums[right])
max_res = max(max_res,cur_res)
cur_left = nums[left]
cur_right = nums[right]
if nums[left] < nums[right]:
while left <right and nums[left] < nums[right] and cur_left >= nums[left+1]:
left +=1
left += 1
else:
while left < right and nums[left] > nums[right] and cur_right >= nums[right-1]:
right -=1
right -=1
print(max_res)
s = Solution()
s.solve()