0
点赞
收藏
分享

微信扫一扫

【2023届秋招】奇安信0825笔试题


2023届校招奇安信秋招0825笔试题

1.1 题目

给出一个有向无环图,判断从起点到终点的路径有多少条。

1.2 分析

dp题

1.3 代码

2.1 题目

【2023届秋招】奇安信0825笔试题_算法

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()


举报

相关推荐

0 条评论