企业手机网站建设市场分析,商丘做网站,wordpress只让文章标题,国际十大猎头公司排名Leetcode 3149. Find the Minimum Cost Array Permutation 1. 解题思路2. 代码实现 题目链接#xff1a;3149. Find the Minimum Cost Array Permutation
1. 解题思路
这一题的话就是一个动态规划的问题#xff0c;不过他这个错位着实是把题目变得复杂了不少#xff0c;唉…Leetcode 3149. Find the Minimum Cost Array Permutation 1. 解题思路2. 代码实现 题目链接3149. Find the Minimum Cost Array Permutation
1. 解题思路
这一题的话就是一个动态规划的问题不过他这个错位着实是把题目变得复杂了不少唉……
思路上的话实在是没啥可多说的整体来说就是动态规划加剪枝唯一的问题就是细节实现上容易踩坑这里就不一一赘述了仅把代码放在下面有兴趣的读者可以自行研究一下。
2. 代码实现
给出python代码实现如下
class Solution:def findPermutation(self, nums: List[int]) - List[int]:n len(nums)status 0best_score math.inflru_cache(None)def dp(idx, status, first, pre, pre_score):nonlocal best_scoreif pre_score best_score:return math.inf, []if idx n:best_score min(best_score, abs(pre - nums[first]) pre_score)return abs(pre - nums[first]) pre_score, []score, ans math.inf, []for i in range(n):if status (1 i) 0:if idx 0:s, nxt dp(idx1, status | (1 i), i, i, 0)else:s, nxt dp(idx1, status | (1 i), first, i, pre_score abs(pre-nums[i]))if s score:ans [i] nxtscore sreturn score, ansscore, ans dp(0, 0, 0, 0, 0)return ans提交代码评测得到耗时7140ms占用内存237.1MB。