写点什么

ARTS 打卡第 2 周

作者:小样
  • 2023-08-23
    湖北
  • 本文字数:1190 字

    阅读完需:约 4 分钟

前言

难啊,不停地想着还是错过了第 1 周。

算法题

按照 https://programmercarl.com/ 给的刷题顺序

leetcode 704

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1

提示:

  1. 你可以假设 nums 中的所有元素是不重复的。

  2. n 将在 [1, 10000]之间。

  3. nums 的每个元素都将在 [-9999, 9999]之间。

按理这是一个比较简单的题目,注意边界即可。提交后看思路(vscode labuladong-leetcode 插件),原来有两个要注意的:

  1. 注意算 middle 时可能的溢出,a+b 要改成 a+(b-a)

  2. while 的循环判断结束条件要不要等号和选择的初始边界条件密切相关,我喜欢左闭右闭形式,此时判断需要这个等号

以下是我提交的代码

class Solution:    def search(self, nums: List[int], target: int) -> int:        left_search: int = 0        right_search: int = len(nums) - 1
while left_search <= right_search: middle_serch: int = left_search + (right_search - left_search) // 2 if nums[middle_serch] == target: # 找到了 return middle_serch elif nums[middle_serch] > target: # 在前半段 right_search = middle_serch - 1 else: # 在后半段 left_search = middle_serch + 1 return -1
复制代码

英文翻译

我正在做 Rust in motion 的翻译,翻译完会发到 B 站上。就用每一节的成品交作业。

推荐 rust in motion 作为起步阶段的视频,b 站搜索,第一个就是。内容不追求全,一共 4 章,但讲到了基本语法,借用和所有权转移,错误处理,生命周期这几个新手最疑惑的地方,每章节之间用一个问题自然新出下一章主题

第 1 章第 8 节,结构体

Rust in motion(中英文字幕)U01M08 Structs

技术技巧

正在看阿里云 ocr sdk,试图能完成扫描版 PDF ocr,筛选指定的文字以便自动化生成需要的报告。不得不吐槽下阿里云 sdk,看起来很高大上,页面啥都有,具体一看 api 的输入参数和返回结果,有的在文档里有有的在在线 api 调试页面里。难受。


不过有一说一,效果还的确不错。


分享一篇文章

王勇,前 deepin CTO

深度桌面操作系统架构设计

本文介绍了桌面操作系统的架构设计和原理细节,以及深度桌面操作系统的发展和组成。桌面操作系统是个人电脑中使用的最复杂的操作系统之一,包括内核、驱动、固件、软件仓库、开发库、桌面环境、应用商店和预装应用等组成部分。深度桌面操作系统在过去的十几年中取得了长足的进步,但与 Windows 和 Mac OS 相比,无论是在技术先进性、交互设计还是产品质量方面都有很大的差距。文章还介绍了桌面操作系统所使用的编程语言,包括 golang 语言等。


读完“桌面环境和那些换主题的工作差别在哪里”一节,深深感慨,操作系统 GUI 太复杂了。


发布于: 刚刚阅读数: 6
用户头像

小样

关注

还未添加个人签名 2018-03-26 加入

还未添加个人简介

评论

发布
暂无评论
ARTS 打卡第 2 周_ARTS 打卡计划_小样_InfoQ写作社区