1937. Nombre maximum de points avec coût
Difficulté :Moyen
Sujets :Array, Programmation dynamique
Vous recevez une matrice entière m x n points (0-indexés). En commençant avec 0 point, vous souhaitezmaximiserle nombre de points que vous pouvez obtenir de la matrice.
Pour gagner des points, vous devez choisir une cellule danschaque ligne. Choisir la cellule aux coordonnées (r, c)ajouterapoints[r][c] à votre score.
Cependant, vous perdrez des points si vous choisissez une cellule trop éloignée de la cellule que vous avez sélectionnée dans la ligne précédente. Pour deux lignes adjacentes r et r + 1 (où 0 <= r < m - 1), la sélection de cellules aux coordonnées (r, c1) et (r + 1, c2)soustrairaabdos (c1- c2) de votre score.
Rendezlenombre maximumde points que vous pouvez obtenir.
abs(x) est défini comme :
Exemple 1 :
Exemple 2 :
Contraintes :
Indice :
Solution :
Nous pouvons décomposer la solution en plusieurs étapes :
Nous utiliserons un tableau 2D dp où dp[i][j] représente le maximum de points que nous pouvons obtenir en sélectionnant la cellule de la ligne i et de la colonne j.
Initialisez la première ligne de dp pour qu'elle soit identique à la première ligne de points car il n'y a pas de lignes précédentes pour soustraire le coût.
Pour chaque ligne suivante, nous calculons le maximum de points possibles pour chaque colonne en tenant compte des coûts de passage de la ligne précédente.
Pour calculer efficacement la transition de la ligne i-1 à la ligne i, nous pouvons utiliser deux tableaux auxiliaires gauche et droite :
Pour chaque colonne j de la ligne i :
Le résultat sera la valeur maximale dans la dernière ligne du tableau dp.
Implémentons cette solution en PHP :1937. Nombre maximum de points avec coût
Explication:
Cette approche a une complexité temporelle de (O(m fois n)), ce qui est efficace compte tenu des contraintes.
Liens de contact
이 시리즈가 도움이 되었다면repository에 별점을 주거나 좋아하는 소셜 네트워크에 게시물을 공유해 보세요. 여러분의 지원은 저에게 큰 의미가 될 것입니다!
이런 더 유용한 콘텐츠를 원하시면 저를 팔로우해주세요:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!