Xu-Blog

养一猫一狗,猫叫啵啵,狗叫没想好~~

0%

题目:寻找数组的中心索引

给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。

中心索引的定义如下:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。

如果数组不存在中心索引,那么我们应该返回-1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。

阅读全文 »

数组是数据结构中的基本模块之一。因为字符串是由字符数组形成的,所以二者是相似的。大多数面试问题都属于这个范畴。需要掌握的内容如下:

  1. 理解数组的基本概念及其操作方式
  2. 理解二维数组的基本概念,熟悉二维数组的使用;
  3. 了解字符串的概念以及字符串所具有的不同特性;
  4. 理解字符串匹配中的KMP算法;
  5. 能够运用双指针解决实际问题。
阅读全文 »

六月底老师通知让我提前返校,去长春自我隔离一段时间,这几天一直在收拾东西。空余时间没用来学习,不过倒是上 steam 上买了个游戏(QAQ)

2020 是个多灾多难的年份(澳洲火灾,东非蝗虫肆虐,加拿大雪灾,菲律宾火山爆发,克什米尔雪崩,全球疫情),我只愿世界和平,不由得想到《流浪地球》的台词:

“最初,没有人在意这场灾难,这不过是一场山火,一次旱灾,一个物种的灭绝,一座城市的消失。直到这场灾难和每个人息息相关。”

几天没写东西,心里有点痒痒,可是赶飞机,找住处,写点啥呢?思来想去,有了这篇历程。

阅读全文 »

今天有师弟问我数码管的问题,我想起我刚学单片机的时候,好像也在数码管的地方迷糊了一段时间,就简单写写数码管的原理。

首先,什么是数码管?
百度百科解答:数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。玻璃管中包括一个金属丝网制成的阳极和多个阴极。大部分数码管阴极的形状为数字。管中…

看了估计白看,简言之,数码管是一种半导体发光器件,基本单元就是发光二极管,如果不明白发光二极管的话,请学习模电基础。

阅读全文 »

内容概要,对队列&栈相关进行小结,用以下题目对 队列、BFS、栈、DFS 进行复习:

  • 用栈实现队列
  • 用队列实现栈
  • 字符串解码
  • 图像渲染
  • 01 矩阵
  • 钥匙和房间
阅读全文 »

今天发现总结的比我学的慢,说明学的有点心急了,不慌慢慢来。

栈和深度优先搜索

与 BFS 类似,深度优先搜索(DFS)也可用于查找从根结点道目标结点的路径。

1.结点的处理顺序是什么?

在下图中,从根结点 A 开始。首先选择结点 B 的路径,并进行回溯,直到到达结点 E,无法更进一步。然后回溯到 A 并选择第二条路径到结点 C。从 C 开始,我们尝试第一条路径到 E 但是 E 已被访问过。所以我们回到 C 并尝试从另一条路径到 F。最后找到 G。

阅读全文 »

不管我想不想,生活都还是生活。我不愿意,我想要的都是别人的。

今天我们小区停电停水,我上午断断续续学会习,一家人吃了午饭后陆续午休了。靠在床上,想要写点什么,没什么思路,顺手点开了 apple 官网,看了看电脑平板,又点开了淘宝,缓过神来已经 20 分钟后了。看了看写了一半的学习笔记,忽然一股凉意涌上心头。

就好像平时有时候,上一秒看着论文,下一秒忽然点开 QQ,空间走一走的感觉。

若不抽出时间来创造自己想要的生活,你最终不得不花费大量的时间,来应付自己不想要的生活。

—— 予诗

阅读全文 »

栈:后入先出的数据结构

在 LIFO 数据结构中,将首先处理添加到队列中的最新元素。

与队列不同,栈是一个 LIFO 数据结构。通常,插入操作在栈中被称作入栈 push。与队列类似,总是在堆栈的末尾添加一个新元素。但是,删除操作,退栈 pop,将始终删除队列中相对于它的最后一个元素。

  • 入栈:在栈顶加入一个元素。
  • 退栈:删除栈顶的元素。
阅读全文 »

题目:打开转盘锁

你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有 10 个数字:’0’到’9’。每个拨轮可以自由旋转:例如把’9’变为’0’,’0’变为’9’。每次旋转都只能旋转一个拨轮的一位数字。

锁的初始数字为’0000’,一个代表四个拨轮的数字的字符串。

列表 deadends 包含了一组死亡数字,一旦拨轮的数字和列表里的任何一个元素相同,这个锁将会被永久锁定,无法再被旋转。

字符串 target 代表可以解锁的数字,你需要给出最小的旋转次数,如果无论如何不能解锁,返回-1。

阅读全文 »

数组中,我们可以通过索引来访问数据,很多情况下我们可能会想限制数据的处理顺序。

常见的两种处理顺序是:先入先出(FIFO)以及后入先出(LIFO)

处理顺序数据结构
先入先出队列
后入先出
阅读全文 »