作者:RealMadrid | 来源:互联网 | 2024-11-14 18:01
前言 这是本人第一次参加由Datawhale举办的组队学习活动,这个活动每月一次,之前也一直关注,但未亲身参与过,这次看到活动中有一项组队刷LeetCode,恰逢本人正在准备考研复试机试,便欣然加入以求有所收获和提升。 ε≡٩(๑>₃<)۶ 一心向学 活动简介 Task01数组 知识点总结 数组的定义 数组是具有一定顺序关系的若干对象组成的集合,组成数组的对象成为数组元素。 它可以存储一个 固定大小 的 相同类型 元素的顺序集合。 数组的元素也可以是数组,这样就得到了多维数组。
数组的存储 数组是由连续的内存位置组成,即在物理存储层面是使用一片连续的存储空间。 最低的地址对应第一个元素,最高的地址对应最后一个元素。 即按顺序连续存储。 这样的好处是我们可以利用索引对数组元素进行随机存取,而不足则是数组空间固定,不易扩充或减少,容易造成溢出或空间浪费。
数组元素的访问 数组的存储按照行优先(C、C++、C#)或列优先(Forturn)的原则进行。 可以利用以下公式计算得到数组中任一下标所存元素的位置,当然在C语言中我们可以直接利用下标对数组元素进行访问。(考研数据结构里面还是比较喜欢考下面这种计算的) 以下数组声明分别为 type a[n]; type a[m][n]; type a[m][n][l];
一维数组:Loc(a[i]) = Loc(a[0]) + i x c 二维数组:Loc(a[i][j]) = Loc(a[0][0]) + (i x n + j) x c 三维数组:Loc(a[i][j][k]) = Loc(a[0][0][0]) + (i x n x l + j x l + k) x c 以上公式中 c 即代表数组中单个元素大小,可以利用 sizeof(a[0]) 得到,也是数据类型type的大小
例题 Leetcode1两数之和 这是一道很简单的题,很直接的思路就是暴力解法,利用二重循环穷举数组中两元素之和,找到满足的两元素返回下标即可,这样解答的时间复杂度是O(N2 ); 此外,可以将数组先排序,再分别从头尾开始夹逼。 Leetcode的官方题解还提供了利用哈希表的解法,这样可以将时间复杂度降低至O(N)。 Leetcode16最接近的三数之和 这是一道中等难度的题,也可以用暴力解法求解,即考虑直接使用三重循环枚举三元组,找出与目标值最接近的作为答案,但是时间复杂度将达到O(N3 ); Leetcode的官方题解中给出的解法是双指针法,即首先将数组元素升序排列,假设数组的长度为 n ,我们需要的答案由a、b、c三个数得到,可以先枚举 a,它在数组中的位置为 i,然后在位置[i+1,n) 的范围内枚举 b 和 c。 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示; 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示; 全新的 KaTeX数学公式 语法; 增加了支持甘特图的mermaid语法 功能; 增加了 多屏幕编辑 Markdown文章功能; 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间; 增加了 检查列表 功能。 功能快捷键 撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command + B 斜体:Ctrl/Command + I 标题:Ctrl/Command + Shift + H 无序列表:Ctrl/Command + Shift + U 有序列表:Ctrl/Command + Shift + O 检查列表:Ctrl/Command + Shift + C 插入代码:Ctrl/Command + Shift + K 插入链接:Ctrl/Command + Shift + L 插入图片:Ctrl/Command + Shift + G 查找:Ctrl/Command + F 替换:Ctrl/Command + G
合理的创建标题,有助于目录的生成 直接输入1次# ,并按下space 后,将生成1级标题。 输入2次# ,并按下space 后,将生成2级标题。 以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式 强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2 O is是液体。
210 运算结果是 1024.
插入链接与图片 链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片 去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
var foo = &#39;bar&#39; ;
生成一个适合你的列表 项目1 项目2 项目3 创建一个表格 一个简单的表格是这么创建的:
设定内容居中、居左、居右 使用:---------:
居中 使用:----------
居左 使用----------:
居右
第一列 第二列 第三列 第一列文本居中 第二列文本居右 第三列文本居左
SmartyPants SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE ASCII HTML Single backticks &#39;Isn&#39;t this fun?&#39;
‘Isn’t this fun?’ Quotes "Isn&#39;t this fun?"
“Isn’t this fun?” Dashes -- is en-dash, --- is em-dash
– is en-dash, — is em-dash
MarkdownText-to-HTML conversion tool AuthorsJohn Luke 一个具有注脚的文本。
注释也是必不可少的 Markdown将文本转换为 HTML。
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N 是通过欧拉积分
Γ(z)=∫0∞tz−1e−tdt.\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t .
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章 Mon 06 Mon 13 Mon 20
已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid UML 图表 可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
张三 李四 王五
你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五 这将产生一个流程图。:
FLowchart流程图 我们依旧会支持flowchart的流程图:
Created with Raphaël 2.3.0 开始 我的操作 确认? 结束
yes
no
关于 Flowchart流程图 语法,参考 这儿. 导出与导入 导出 如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入 如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入, 继续你的创作。