首页 > 编程语言 >Linked_list in python

Linked_list in python

时间:2024-12-31 19:52:40浏览次数:1  
标签:digits 10 temp python list re Link Linked store

Problem 2.1: Store Digits (100pts)

Write a function store_digits that takes in an integer n and returns a linked list where each element of the list is a digit of n. Your solution should run in Linear time in the length of its input.

Note: You may not use str, repr or reversed in your implementation.

def store_digits(n):
    """Stores the digits of a positive number n in a linked list.

    >>> s = store_digits(0)
    >>> s
    Link(0)
    >>> store_digits(2345)
    Link(2, Link(3, Link(4, Link(5))))
    >>> store_digits(8760)
    Link(8, Link(7, Link(6, Link(0))))
    >>> # a check for restricted functions
    >>> import inspect, re
    >>> cleaned = re.sub(r"#.*\\n", '', re.sub(r'"{3}[\s\S]*?"{3}', '', inspect.getsource(store_digits)))
    >>> print("Do not steal chicken!") if any([r in cleaned for r in ["str", "repr", "reversed"]]) else None
    """
    "*** YOUR CODE HERE ***"
right solution

def store_digits(n):
    """Stores the digits of a positive number n in a linked list.

    >>> s = store_digits(0)
    >>> s
    Link(0)
    >>> store_digits(2345)
    Link(2, Link(3, Link(4, Link(5))))
    >>> store_digits(8760)
    Link(8, Link(7, Link(6, Link(0))))
    >>> # a check for restricted functions
    >>> import inspect, re
    >>> cleaned = re.sub(r"#.*\\n", '', re.sub(r'"{3}[\s\S]*?"{3}', '', inspect.getsource(store_digits)))
    >>> print("Do not steal chicken!") if any([r in cleaned for r in ["str", "repr", "reversed"]]) else None
    """
    temp=Link(n%10)
    n//=10
    while n:
        temp=Link(n%10,temp)
        n//=10
    return temp
wrong solution
def store_digits(n):
    """Stores the digits of a positive number n in a linked list.

    >>> s = store_digits(0)
    >>> s
    Link(0)
    >>> store_digits(2345)
    Link(2, Link(3, Link(4, Link(5))))
    >>> store_digits(8760)
    Link(8, Link(7, Link(6, Link(0))))
    >>> # a check for restricted functions
    >>> import inspect, re
    >>> cleaned = re.sub(r"#.*\\n", '', re.sub(r'"{3}[\s\S]*?"{3}', '', inspect.getsource(store_digits)))
    >>> print("Do not steal chicken!") if any([r in cleaned for r in ["str", "repr", "reversed"]]) else None
    """
    "*** YOUR CODE HERE ***"
    '''   if n<10:
        return Link(n)
    else:    
        temp=store_digits(n//10)
        head=temp
        while(temp.rest!=Link.empty):
            temp=temp.rest
        temp.rest=Link(n%10)
        return head
    '''
    if n<10:
        return Link(n)
    else:
        return Link(n%10,store_digits(n//10))
#顺序相反了
A right but time slow solution
def store_digits(n):
    if n < 10:
        return Link(n)
    else:
        temp = store_digits(n // 10)
        head = temp
        while temp.rest != Link.empty:
            temp = temp.rest
        temp.rest = Link(n % 10)
        return head

标签:digits,10,temp,python,list,re,Link,Linked,store
From: https://www.cnblogs.com/yama-lei/p/18644702

相关文章

  • EntryList.getEntriesByType
    Array.<PerformanceEntry>EntryList.getEntriesByType(stringentryType)基础库2.11.0开始支持,低版本需做兼容处理。小程序插件:不支持功能描述获取当前列表中所有类型为[entryType]的性能数据参数stringentryType返回值Array.<PerformanceEntry>......
  • EntryList.getEntriesByName
    Array.<PerformanceEntry>EntryList.getEntriesByName(stringname,stringentryType)基础库2.11.0开始支持,低版本需做兼容处理。小程序插件:不支持功能描述获取当前列表中所有名称为[name]且类型为[entryType]的性能数据参数stringnamestringentryType返回......
  • EntryList.getEntries
    Array.<PerformanceEntry>EntryList.getEntries()基础库2.11.0开始支持,低版本需做兼容处理。小程序插件:不支持功能描述该方法返回当前列表中的所有性能数据返回值Array.<PerformanceEntry>......
  • 详解Redis的List类型及相关命令
    目录LPUSHLPUSHXRPUSHRPUSHXLRANGELPOPRPOPLINDEXLINSERTLLEN阻塞版本命令BLPOPBRPOP内部编码应用场景Redis中的List类型,是保证元素有序的,支持队列从两端进行插入删除和获取,并且元素时刻重复的。LPUSH将⼀个或者多个元素从左侧放⼊(头插)到list中。......
  • 使用python搭建网站的简明步骤
    选择 Web 框架Python 有许多 Web 框架,如 Flask、Django 等。Flask 是一个轻量级框架,适合初学者和小型项目;Django 是一个功能强大、内置组件丰富的框架,适合大型项目。以 Flask 为例进行介绍。首先,需要安装 Flask。可以使用pip命令安装,在命令行中执行pipinstallf......
  • 从零开始的Python世界生活——语法基础先导篇(Python小白零基础光速入门上手)
    从零开始的Python世界生活——语法基础先导篇(Python小白零基础光速入门上手)1.准备阶段1.1下载并安装Python1.1.1下载步骤:访问Python官方网站:点击这里下载Python在页面上,选择适合你操作系统的Python版本(Windows、macOS或Linux)。点击下载按钮,开始下载安装程序。1.1.2安......
  • 8天学习python笔记04
    day04进制和编码目标:了解一些常见名词背后的含义。1.python代码运行方式脚本式python3~/PyCharm软件/学习Python/4.1.py源文件上右键----点击runxx即可运行交互式1、cmd进入命令行,输入python回车,即可进入交互式环境2、输入print("helloworld")回车,即可运行3......
  • Python毕业设计项目 在线组团拼团购物商城系统_9pd36
    文章目录开发技术介绍具体实现截图开发技术设计思路系统测试核心代码部分展示文章目录/写作提纲参考开发与测试:源码/演示视频获取方式开发技术介绍(1)确定项目名称、项目研究内容,开题报告提交及修改。(2)项目开发准备,整理思路,查阅相关资料了解系统的研究意义。(3)项目初......
  • Python+Django智慧农业小程序(Pycharm Flask Django Vue mysql)
    收藏关注不迷路,防止下次找不到!文章末尾有惊喜项目介绍当今社会已经步入了科学技术进步和经济社会快速发展的新时期,国际信息和学术交流也不断加强,计算机技术对经济社会发展和人民生活改善的影响也日益突出,人类的生存和思考方式也产生了变化。传统智慧农业采取了人工的管......
  • Python函数(十三):变量的作用域、匿名函数
    前言:在Python中,变量的作用域是一个至关重要的概念,它关系到变量在程序中的可访问性。理解局部变量(LocalVariable)和全局变量(GlobalVariable)的区别,以及它们如何在不同函数和代码块中被识别和使用,对于编写清晰、可维护的代码至关重要。局部变量限制在定义它们的函数或代码块内,而全......