首页 > 其他分享 >Study Plan For Algorithms - Part31

Study Plan For Algorithms - Part31

时间:2024-09-15 11:46:08浏览次数:10  
标签:head Study range next tail Algorithms Plan new dp

1. 旋转链表
给定一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。

class ListNode:
    def __init__(self, val=0, next=None):
    self.val = val
    self.next = next

class Solution:
    def rotateRight(self, head: Optional[ListNode], k: int) -> Optional[ListNode]:
        if not head:
            return None

        length = 1
        tail = head
        while tail.next:
            tail = tail.next
            length += 1

        k %= length

        if k == 0:
            return head

        new_tail = head
        for _ in range(length - k - 1):
            new_tail = new_tail.next
        new_head = new_tail.next

        tail.next = head
        new_tail.next = None

        return new_head

2. 不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。
问总共有多少条不同的路径?

class Solution:
    def uniquePaths(self, m: int, n: int) -> int:
        dp = [[0] * n for _ in range(m)]

        for i in range(m):
            dp[i][0] = 1
        for j in range(n):
            dp[0][j] = 1

        for i in range(1, m):
            for j in range(1, n):
                dp[i][j] = dp[i - 1][j] + dp[i][j - 1]

        return dp[m - 1][n - 1]

标签:head,Study,range,next,tail,Algorithms,Plan,new,dp
From: https://www.cnblogs.com/stephenxiong001/p/18415111

相关文章

  • Robotics: computational motion planning 部分笔记—— week 3 Sampling base planni
    随机路标图思想空间过大,无法遍历,由此采用随机路标图(ProbabilisticRoadMaps)进行采样。基本就是采样点,连线,判断是否发生碰撞,在生成起点终点间的路径之前,该算法试图通过采样的方式搜索整个构型空间。在生成足够多样本后,可以用A*等算法进行路径规划。由于采样的随机性,生成......
  • ROS2 - Moveit2 - Planning with Approximated Constraint Manifolds(使用近似约束流
    使用近似约束流形进行规划OMPL支持自定义约束,以使规划轨迹遵循所需的行为。约束可以在关节空间和笛卡尔空间中定义,后者基于方向或位置。在规划轨迹时,每个关节状态都需要遵循所有设置的约束,默认情况下,这是通过拒绝采样来执行的。然而,这可能会导致非常长的规划时间,特别是当约束非......
  • phpStudy下载和使用方法
    phpStudy是一个PHP调试环境的程序集成包,它集成了Apache、PHP、MySQL、phpMyAdmin等多种开发工具,为PHP开发者提供了一个快速搭建和调试PHP开发环境的解决方案。phpStudy是一款集成开发环境(IDE)软件,主要用于在Windows系统上快速搭建和调试PHP、MySQL、Apache等网页开发环境。以下是......
  • kuangStudy
    JVM探究对JVM的理解?Java8虚拟机和之前的变化什么是OOM,什么是栈溢出,怎么分析JVM的常用调优参数内存快照如何抓取,怎么分析Dump文件JVM中的类加载ProcessOn思维导图工具1.JVM的位置操作系统之上,与其他应用程序平行的地位2.JVM的体系结构详细图解网上找classfile......
  • Study Plan For Algorithms - Part28
    1.跳跃游戏题目链接:https://leetcode.cn/problems/jump-game/给定一个非负整数数组nums,你最初位于数组的第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回true;否则,返回false。classSolution:defca......
  • Study Plan For Algorithms - Part29
    1.在排序数组中查找数字统计一个数字在排序数组中出现的次数。方法一:defsearch(nums,target):returnhelper(nums,target)-helper(nums,target-1)defhelper(nums,target):i=0j=len(nums)-1whilei<=j:m=(i+j)//......
  • COMP2230/COMP6230 Algorithms
    TheUniversityofNewcastle,AustraliaSchoolofInformationandPhysicalSciencesCOMP2230/COMP6230AlgorithmsAssignment1Marks100Weight15%IndividualSubmissionviaCanvas1LearningOutcomesThisassignmentwillrequirestudentsto:Applyspecific......
  • COMP3506/7505  Algorithms and Data Structures
    Assignment Two – 25%Algorithms and Data Structures – COMP3506/7505 – Semester 2, 2024Due: 3pm on Friday October 18th (week 12)SummaryThe main objective ofthis assignment is to extend your knowledge from assignment one ......
  • eplan软件许可优化解决方案
    Eplan软件介绍Eplan是一款专业的电气设计软件,用于自动化工程和电气系统的设计与文档化。它由德国的EplanSoftware&ServiceGmbH开发,并在全球范围内广泛应用于工程设计和电气工程领域。Eplan软件提供了全面的工具和功能,以简化和优化电气设计流程。它支持从初始设计到最终制造......
  • comp10002 Foundations of Algorithms
    SchoolofComputing andInformationSystemscomp10002 Foundations of AlgorithmsSemester 2,2024Assignment 1LearningOutcomesIn this assignment you will demonstrate your understanding of arrays,  strings, functions, and the typedeffac......