AoC ‘- 日历史学家歇斯底里(C# 和 Python)#剧透

aoc ‘- 日历史学家歇斯底里(c# 和 python)#剧透

今天的挑战非常简单:

第 1 部分:
为了解决这个问题,我们必须

根据字符串输入创建 2 个数字列表,按升序排序对于list1中的每个数字,在list2中获取相同的索引,并找到两个数字之间的距离。 然后将距离相加

简单吧。

第 2 部分:

这有点棘手,但我的解决方案的主要概念是:

立即学习“Python免费学习笔记(深入)”;

创建一个字典,其中 key 是 lista 中的数字,value 使用 count() 方法统计 listb 中与 key 相同的数字(与 lista 索引相同的数字)。

那么这只是一个将键乘以值并对总数求和的简单情况。

csharp 第 1 部分和第 2 部分:

var input = file.readalllines("./input_1.txt")    .select(s => s.split([' '], stringsplitoptions.removeemptyentries)).tolist();var lists = processlines(input);part1(lists.list1, lists.list2);part2(lists.list1, lists.list2);return;void part1(list list1, list list2){    var ordered1 = list1.orderby(x => x).tolist();    var ordered2 = list2.orderby(x => x).tolist();    var totals = ordered1        .select((t, i) => math.abs(t - ordered2[i]))        .select(difference => (long)difference)        .tolist();    console.writeline("sum of differences: " + totals.sum());}void part2(list list1, list list2){    var counts = list1.todictionary(        number => number,        number => list2.count(x => x == number)    );    var sum = counts.sum(x => x.value * x.key);    console.writeline("sum of counts: " + sum);}(list list1, list list2) processlines(list rows){    var list1 = new list();    var list2 = new list();    foreach (var row in rows)    {        list1.add(int.parse(row[0]));        list2.add(int.parse(row[1]));    }    return (list1, list2);}

第 1 部分 – python

相同的概念不同的语法 – 很多
使用内置的 zip 函数和列表理解功能更加简洁。

def get_steps(list1, list2):    totals = [abs(value - partner_item)              for value, partner_item in zip(list1, list2)]    print("Sum Total:", sum(totals))def read_input(file_name):    list1, list2 = zip(*((int(num1), int(num2))                       for num1, num2 in (line.split() for line in open(file_name))))    return sorted(list1), sorted(list2)list1, list2 = read_input("input.txt")get_steps(list1, list2)

第 2 部分 – 进行中(已经晚了)⏰

以上就是AoC ‘- 日历史学家歇斯底里(C# 和 Python)#剧透的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1354564.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 18:38:16
下一篇 2025年12月13日 18:38:25

相关推荐

  • 为什么 Spark 慢?

    为什么 spark 慢? 从一个引人注目的标题“spark 为什么这么慢?”开始,值得注意的是,称 spark“慢”可能意味着多种含义。聚合速度慢吗?数据加载?存在不同的情况。此外,“spark”是一个广泛的术语,其性能取决于编程语言和使用上下文等因素。因此,在深入讨论之前,让我们将标题改进得更加精…

    好文分享 2025年12月13日
    000
  • 如何使用 Python 抓取 Google 搜索结果

    抓取 google 搜索可提供基本的 serp 分析、seo 优化和数据收集功能。现代抓取工具使这个过程更快、更可靠。 我们的一位社区成员撰写了此博客,作为对 crawlee 博客的贡献。如果您想向 crawlee 博客贡献此类博客,请通过我们的 discord 频道与我们联系。 在本指南中,我们将…

    2025年12月13日 好文分享
    000
  • 爬虫python怎么读

    Python 网页爬取可通过 requests 库获取响应内容,再用 BeautifulSoup 库解析 HTML 结构。首先导入 requests 库发送 HTTP 请求,然后导入 BeautifulSoup 库解析内容,可查找和提取 HTML 元素,从而获取网页内容。requests 库适用于发…

    2025年12月13日
    000
  • python爬虫怎么点按钮

    使用 Seleniumwebdriver 来模拟浏览器操作,通过单击元素的 ID 或 XPath 来点击按钮。步骤包括:安装 Seleniumwebdriver、导入模块、创建 WebDriver 实例、导航到页面、定位按钮(使用 find_element_by_id() 或 find_elemen…

    2025年12月13日
    000
  • python爬虫代码怎么操作

    如何操作 Python 爬虫代码?导入 Python 库(requests、BeautifulSoup);发送 HTTP 请求获得 HTML 代码;解析 HTML 代码形成树形结构;查找所需的 HTML 元素;提取所需的数据;对提取的数据进行处理;输出处理后的数据。 如何操作 Python 爬虫代码…

    2025年12月13日
    000
  • python 怎么验证反爬虫

    Python 中验证反爬虫措施的步骤包括:检查 HTTP 状态码;分析响应头;提取 капча;分析 JavaScript 行为;检查限速机制;使用代理;使用防浏览器检测工具库;人工验证。 如何验证 Python 中的反爬虫措施 在网络爬取过程中,网站通常会实施反爬虫措施来防止滥用或过量爬取。验证反…

    2025年12月13日
    000
  • python爬虫时怎么设置访问时间间隔

    回答:使用 Python 爬虫时,设置访问时间间隔至关重要,以避免服务器过载和封禁。方法如下:导入 time 模块。设置时间间隔(以秒为单位)。访问网页。等待时间间隔。时间间隔的好处包括减少服务器负载、避免封禁和提高爬取效率。最佳间隔取决于流量大小(高流量网站需要较长间隔)。其他注意事项包括网站限制…

    2025年12月13日
    000
  • python爬虫不按顺序怎么办

    解决 Python 爬虫页面抓取无序问题的方法:并行抓取:使用同步机制(如队列)按请求顺序抓取页面。动态页面:使用 JavaScript 渲染引擎模拟用户交互以获得一致视图。服务器端排序:分析排序规则,禁用排序机制或使用 headless 浏览器。爬虫速度过快:调整延迟或速度,使用代理避免被识别为爬…

    2025年12月13日
    000
  • python3爬虫实习报告怎么写

    Python3 爬虫实习收获:熟练掌握 Python3 爬虫技术,精通 Scrapy 框架。培养了问题解决能力,了解了反爬虫技术和应对策略。参与团队协作,提升了沟通和协作能力。了解了互联网数据采集行业的现状和发展趋势。提升了就业竞争力,拓宽了职业视野。 Python3 爬虫实习报告 引言随着互联网技…

    2025年12月13日
    000
  • python 爬虫 该怎么问面试者

    在 Python 爬虫面试中,通过询问以下问题可评估应聘者的能力和经验:Python 爬虫编写经验:了解候选人的经验程度。应对爬虫挑战:考察其解决问题和处理复杂任务的能力。爬虫被阻止的对策:评估其应对常见爬虫挑战的策略。Python 爬虫库的了解程度:确定对 Python 网络爬虫库的熟悉程度。网络…

    2025年12月13日
    000
  • Python爬虫怎么设置进度条

    Python爬虫设置进度条的方法有:使用 tqdm 库:提供易用的 API 和丰富的自定义选项。使用进度条回调函数:适合需要自定义进度或低级爬虫任务。使用 rich 库:提供美观且高级的进度条和控制台输出。 Python爬虫如何设置进度条 简介 在爬取大型网站或处理庞大数据集时,使用进度条可以直观地…

    2025年12月13日
    000
  • python爬虫验证码怎么解决

    Python爬虫验证码解决方案包括图像识别、服务端API、模拟浏览器行为和打码平台。选择解决方案取决于验证码类型、复杂程度和预算,使用验证码解决方案时需要注意遵守网站爬虫政策和避免频繁访问。 Python爬虫验证码解决方案 在网络爬取的过程中,经常会遇到验证码的阻碍。验证码是一种安全机制,用于防止恶…

    2025年12月13日
    000
  • python爬虫之谷歌怎么抓包

    使用Python爬虫抓取谷歌数据可以使用谷歌搜索API或第三方工具。具体步骤包括:使用谷歌搜索API:注册谷歌云平台账号并启用搜索API。安装google-api-python-client库。创建API客户端并执行搜索。解析搜索结果。使用第三方工具:selenium:用于模拟真实浏览器的行为。Be…

    2025年12月13日
    000
  • 用于快速启动 Polylith 的 Cookiecutter

    向您展示一个python cookiecutter,用于在python 中快速启动polylith。如果您不知道什么是 polylith,请阅读文档,对于不耐烦的读者: polylith 是一种软件架构,旨在构建简单、可维护、可测试和可扩展的后端系统。它通过在系统规模上应用功能思维来实现这一点,将代…

    2025年12月13日
    000
  • 单一性下界

    幺正性确保矩阵和顶点被相同数量的内存覆盖。每个存储单元的单一数据类型简化了其每个单独函数的代码和操作。修剪可选参数(例如 3 个限制)可以更轻松地测试和验证复杂的 python 机制。 a.numerical_approx(digits = 3)x.numerical_approx(digits =…

    2025年12月13日
    000
  • 如何使用 Python 创建带有时间和日期的动态壁纸

    如果您曾经想要一张能根据当前时间和日期自动更新的壁纸,那么本教程适合您。我们将使用 python 和一些库(如 pil (pillow))生成图像,添加带有时间和日期的动态文本,然后将此图像设置为 windows 上的壁纸。 我们需要什么? 已安装 python:如果您尚未安装 python,可以从…

    2025年12月13日
    000
  • 理解 Python 中的闭包

    在python中,闭包是一个重要的概念,它允许函数“记住”它被创建的环境,即使在函数完成执行之后也是如此。闭包允许我们在不使用全局变量或类实例的情况下实现有状态函数。 在这篇文章中,我们将通过使用 nonlocal 关键字实现一个简单的计数器来探索闭包。让我们深入探讨一下! 什么是闭包? 当嵌套函数…

    2025年12月13日
    000
  • 配置 Django 项目以将敏感数据存储在 YAML 文件中

    .py 文件中硬编码令牌、数据库凭据和其他敏感数据并不安全。很多人使用django-environ库,但我认为它不方便。因此,我使用 yaml 文件来存储敏感数据,并使用 pyyaml 库来读取它们的数据。 创建项目文件夹: mkdir myproject 切换创建的文件夹: cd myprojec…

    2025年12月13日
    000
  • Jinbase – 多模型事务嵌入式数据库

    嗨,开发者! 我是 Alex,一名技术爱好者。我很高兴向您展示 Jinbase,我的多模型事务嵌入式数据库。 大约一年前,我介绍了 Paradict,这是我对多格式流序列化的看法。鉴于其可读性,Paradict 文本格式实际上是配置文件的一种有趣的数据格式。但是使用 Paradict 来管理配置文件…

    2025年12月13日
    000
  • Python – 级别:询问

    1 级任务 1) 华氏度到摄氏度转换 f=int(input(“enter the no. “))c=5/9*(f-32)print(“fahrenheit to celsius”,round(c)) 输出: enter the no. 108fahrenheit to celsius 42 2) …

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信