摘要:
并查集 并查集是一种树形的数据结构,用于处理一些不交集的合并和查询的问题 查找(Find):确定某个元素属于哪个集合 合并(Union):将两个子集合成一个集合 理解 我们举个故事来理解并查集的思想: 几个家族进行宴会,但是家族普遍长寿,所以人数众多。由于长时间的分离以及年龄的增长,这些人逐渐忘掉了 阅读全文
摘要:
相关知识点:图论,Floyd算法,并查集 题目 链接🔗:https://leetcode-cn.com/problems/evaluate-division/ 给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] = [Ai, Bi] 阅读全文
摘要:
排序算法 这篇博文主要讲解一下主流的几大排序算法 选择排序 思路 选择排序应该是这么多排序算法中最简单的一种排序算法了,主要思路是找到数组中最小的元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小的元素就和自己交换)。再次,在剩下的元素中重复此行为。 时间复杂度:O(n^2) 特点 阅读全文
摘要:
经典DP问题之最长上升子序列和最长公共子序列 在DP问题中,最长上升子序列(LIS)和最长公共子序列(LCS)无疑是最经典的入门题目,充分体现了DP的思想。 最长上升子序列(LIS) 题目描述 给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。 示例 input: 7 3 1 2 阅读全文
摘要:
二分查找 二分查找真的是个很玄妙的算法,因为它的思路很简单,在一个有序的序列中,想要找到某个数,先判断中间的数与这个目标数的大小,如果中间的数大于目标数,那么则认为,目标数在这个序列的左半边,反之则在右半边。 但是思路容易,实现可是极其麻烦,因为总是分不清边界,l 和 r 什么时候是 1; if ( 阅读全文
摘要:
Java中的接口 1.什么是接口 接口是一个与类相似的结构,用于为对象定义共同的操作。 使用接口的目的是为了指明相关或者不相关类的对象的共同行为。 在Java中,接口被看作是特殊的类,与抽象类类似,不能使用new来创建接口的实例 2.接口的定义方式 因为所有定义在接口内的方法都是抽象方法,不能有具体 阅读全文
摘要:
Java中的抽象类 引言 在java程序中,子类往往更加明确和具体,但是父类往往十分笼统。有的时候,一个父类设计的非常抽象,抽象到它都没有任何具体的实例,这种类就称为抽象类。 抽象类与抽象方法 在类的头部使用abstract修饰符表示该类为抽象类 (以下所有代码均来自最近在看的《Java语言程序设计 阅读全文
摘要:
导言 最近又再次开始刷leetcode题目,做了一些关于双指针的题目,这一篇来稍微总结一下,在数组题目中利用双指针的一些想法和题目的坑,日后方便复习 一.关于双指针 1.什么是双指针 双指针,用 两个指针 去遍历 有序数组 2.双指针的类型 常用的有,对撞指针(一个在头,一个在尾),有的是快慢指针等 阅读全文
摘要:
ios多线程 GCD(Grand Central Dispatch) 1.GCD的好处 1. GCD可以用于多核的并行运算 2. GCD会利用更多的CPU内核(比如双核,四核) 3. GCD会自动管理线程的生命周期(创建线程,调度任务,销毁线程) 4. 程序员只需要告诉GCD要执行什么任务,不需要编 阅读全文
摘要:
IOS开发中的页面传值 导言 本文将基础的介绍一些关于IOS中页面传值的一些方法,语言基于 Objective c 1. 属性传值 2. 代理传值 3. Block传值 4. 单利传值 1.属性传值 A页面的值跳转到B页面之后把值传给B页面,只需要在.h文件定义属性,A页面再跳转之前赋值给B页面的实 阅读全文