学习笔记

类与接口

类与接口 之前的学习中我们可以使用子类来继承父类的属性和方法,但是有时候我们只需要某些特性,这时候再使用继承就显得有些笨重,我们可以使用接口将这些特性抽离出来,这样就可以在不同的类中复用这些特性。提高了面向对象编程的灵活性。

阅读全文

Class 类

Class 类 基本概念 类:定义了一件事物的抽象特点,包含它的属性和方法。 对象:类的实例。 面向对象三大特性:封装(将操作过程隐藏起来,只向外暴露需要使用地接口)、继承(子类继承父类,子类可以拥有父类地所有成员,并且可以更进一步)、多态(一个方法的多个实现)。

阅读全文

function 函数

function 函数 函数是 JavaScript 中的基本组成部分,TypeScript 为 JavaScript 中的函数提供了完整的定义类型。

阅读全文

interface 接口

interface 接口 接口(Interfaces)是 TypeScript 的一个重要概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(implement)。

阅读全文

Ts 数据类型

数据类型 在 TypeScript 中,我们可以使用 number、string、boolean、null、undefined、数组、元组、枚举、any、void、never、object、symbol、bigint 来定义数据类型。

阅读全文

Z 字形变换

6.Z 字形变换 题目分析 题目起初看起来可能有些难以理解,所谓的 z 字形变换是一个倒过来的 Z ,看起来是这样的:|/|/|/|。

阅读全文

双指针法

双指针法 双指针法是一种常见的技巧,它的思想是使用两个指针分别指向数组的头部和尾部,然后向中间移动,直到两个指针相遇。 指针移动的条件根据具体的需求而定。 双指针法可以用于解决一些常见的问题,如:查找数组中是否存在某个元素、查找数组中两个数的和等于某个值、查找数组中最长的连续子数组等。 双指针法的时间复杂度通常为 O(n),其中 n 是数组的长度。 题目 盛最多水的容器

阅读全文

广度优先搜索

简介 广度优先搜索(Breadth First Search)简称广搜或者 BFS. 广度优先搜索,感官上就像是水波的涟漪,从一个点开始,向外扩散,直到扩散到所有的点为止。下面这个例子 forked from areaxe,可以很好的解释广度优先搜索的过程。

阅读全文

最短的桥

934. 最短的桥 题目分析 下面是一个水域 左上角有一个岛 右下角有一个岛 找到两岛间的桥 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 1 大致想法:我们不需要将两个岛全部都找到,只需要找到第一个岛,然后从这个岛开始扩张,每次向外扩张一圈,直到找到第二个岛,那么我们的扩张次数就是这两个岛间的最短的桥了

阅读全文

盛最多水的容器

11. 盛最多水的容器 题目分析 刚开始接触到这个题目的时候可能会想着只要将所有情况遍历一遍,先是 i 为左桶沿的所有情况,然后 i+1 ,i+2… 但是这种做法显然不是最优解。不如我们换一种遍历的想法。

阅读全文