当前位置: 首页 > news >正文

房子竣工验收在哪个网站查深圳公司注册流程及资料

房子竣工验收在哪个网站查,深圳公司注册流程及资料,菏砖网站建设,diy定制网站链表 用数组模拟链表,看该链表结构,有几个域则用几个数组分别存储 单链表是只知道下一个元素位置,双链表还知道上一个链表位置 单链表 双向链表 左移右移 栈 模拟栈 判断括号序列 队列 模拟队列 递归 集合和哈希 集合就是哈希表 哈希表的实现…

链表

用数组模拟链表,看该链表结构,有几个域则用几个数组分别存储
单链表是只知道下一个元素位置,双链表还知道上一个链表位置

单链表

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

双向链表

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

左移右移

请添加图片描述
请添加图片描述
请添加图片描述

模拟栈

请添加图片描述
请添加图片描述

判断括号序列

请添加图片描述
请添加图片描述

队列

请添加图片描述

模拟队列

请添加图片描述
请添加图片描述
请添加图片描述

递归

请添加图片描述

请添加图片描述

集合和哈希

请添加图片描述
请添加图片描述

集合就是哈希表

哈希表的实现

请添加图片描述

N要设置为其数据的2倍多一些, 取模大于那个数就可以了。
q<=10的五次方,所以取模mod大于这个数就可以了,N数组设为其2倍多10.
记住
哈希表解决查询x是否在集合中出现过以及插入。选择合适的方法插入。

Java提供的Set集合

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

Map哈希表(键值对,按键查找)

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

离散化

请添加图片描述
请添加图片描述

  • 首先是有序,且不重复,所以使用TreeMap
  • 它存入后就是自动排序
  • 先把所有数读入放在a数组,再把a数组存入mp中,mp中的就是排好序的,而a是原数组。
  • 因为mp中的是按自然顺序排好的,那么从头到尾遍历就是从小到大,此时让其数值和排名构成键值对
  • 数值为键,最后将原数组顺序a的数值去mp中通过get方法获取对应值也就是排名替代原数组。
  • 最后就是最终答案

优先队列

优先队列的使用

请添加图片描述
请添加图片描述
请添加图片描述

堆排序(很重要,一年一次)

请添加图片描述
最后要输出一个换行符

multiset实现优先队列

可排序有删除操作,那应该用这个,因为map中删除的复杂度为0(n)请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
这段代码定义了一个名为 Multiset 的类,该类使用 TreeMap 来实现一个多集合(multiset),其中元素可以重复。以下是代码的详细解释:

代码解释
声明变量:

TreeMap<T, Integer> multiset;
int len = 0;

TreeMap<T, Integer> multiset;: 声明一个 TreeMap 对象 multiset,键类型为 T(泛型类型),值类型为 Integer。这个 TreeMap 用于存储多集合中的元素及其出现次数。泛型类型根据传入的数据的类型来确定,没有严格的要求。
int len = 0;: 声明一个整型变量 len,初始化为 0,用于记录多集合中元素的总数。
无参构造函数:

Multiset() {multiset = new TreeMap<>();
}

这个构造函数创建一个新的 TreeMap 实例,并将其赋值给 multiset 变量。默认情况下,TreeMap 使用自然顺序对键进行排序。(默认是升序)
带比较器的构造函数:

Multiset(Comparator cmp) {multiset = new TreeMap<>(cmp);
}

这个构造函数接受一个 Comparator 对象 cmp 作为参数,并创建一个新的 TreeMap 实例,使用指定的比较器对键进行排序。
代码功能总结
多集合(Multiset): 多集合是一种数据结构,允许元素重复出现,并且每个元素都有一个计数表示其出现次数。
使用 TreeMap: TreeMap 是一种有序映射,它保证了键的有序性,并且提供了高效的插入、删除和查找操作。
构造函数: 提供了两种构造函数,一种是默认构造函数,使用自然顺序对键进行排序;另一种是带比较器的构造函数,允许用户自定义键的排序方式。
示例用法
假设你有一个 Multiset 类,你可以这样使用它:

public class Main {public static void main(String[] args) {// 创建一个默认的 MultisetMultiset<String> ms1 = new Multiset<>();ms1.add("apple");ms1.add("banana");ms1.add("apple");// 创建一个带有自定义比较器的 MultisetComparator<String> cmp = (s1, s2) -> s2.compareTo(s1); // 逆序比较Multiset<String> ms2 = new Multiset<>(cmp);ms2.add("apple");ms2.add("banana");ms2.add("apple");System.out.println(ms1); // 输出:{apple=2, banana=1}System.out.println(ms2); // 输出:{banana=1, apple=2} (因为比较器是逆序的)}
}

通过这种方式,你可以根据需要创建不同类型的多集合,并控制元素的排序方式。

这段代码定义了一个Comparator类型的比较器,用于对字符串进行逆序排序(从Z到A)。让我们拆解一下这个表达式来理解它的含义:

Comparator<String> cmp = (s1, s2) -> s2.compareTo(s1);

语法解释
Comparator: 这是Java中的一个泛型接口,用于定义如何比较两个对象以便进行排序。在这里,它专门用于比较String类型的对象。
cmp: 这是你给这个特定的Comparator实例起的名字。
(s1, s2): 这部分定义了lambda表达式的参数列表。在本例中,有两个参数s1和s2,它们都是String类型的对象。Lambda表达式提供了一种简洁的方式来实现只有一个抽象方法的接口(在这种情况下,是Comparator接口的compare方法)。
->: Lambda表达式中的箭头符号,用来分隔参数列表和表达式体。
s2.compareTo(s1): 这是lambda表达式的主体部分,它定义了比较逻辑。这里使用了String类自带的compareTo方法来进行比较,但与常规的升序排列不同的是,这里是s2.compareTo(s1)而不是s1.compareTo(s2),这就导致了降序排列的结果。
工作原理
通常情况下,String的compareTo方法按照字典顺序比较两个字符串,返回:

小于0的数:如果调用该方法的字符串小于参数字符串(按字典顺序);
等于0的数:如果两个字符串相等;
大于0的数:如果调用该方法的字符串大于参数字符串。
在标准的升序排序中,你会直接使用s1.compareTo(s2)。然而,在这里,通过交换参数位置为s2.compareTo(s1),比较逻辑被反转了,从而实现了降序排序。

Multiset的代码实现

请添加图片描述
getOrDefault表示若是有的话那么就返回该键对应的值,若是没有那么就返回0
在这里实现重复存储其实就是改变键值对里面值的数量,重复多少那么数量改为多少请添加图片描述
请添加图片描述
请添加图片描述

单调栈

除了维护栈的后进先出,还要维护从栈顶到栈底的单调性
请添加图片描述

数的左右最值问题

请添加图片描述
维护的是下标序列,不是其数组中确切的值

  • 因为维护的是下标序列,所以天然单调栈就满足是最左边
  • 因为是单调栈,在后续判断中,当前元素称为新的栈顶,下面的数都比当前元素大,若当前元素比现在栈顶元素大,那么之前弹出的元素都要小于当前元素,所以弹出没有影响。
    请添加图片描述
    请添加图片描述

左右最值分为四种情况:左右只需要改变遍历顺序就可以,比其大或小则改变单调性即可

请添加图片描述

请添加图片描述
请添加图片描述

单调队列

滑动窗口最值问题

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

并查集

不相交集合的并问题

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

例题:连通块中点的数量

请添加图片描述
请添加图片描述

树状数组

单点修改,区间求和问题

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

http://www.yayakq.cn/news/307117/

相关文章:

  • 官方网站建设制作平台游戏app拉新平台
  • 网站建设类公司可以拿哪些项目资金wordpress 判断是否页面
  • 网站开发对数据库的要求cms监控软件手机版
  • 途牛企业网站建设上海设计网站建设
  • 新浪网站制作随州哪里学做网站
  • 响应式 官网网站网页推广怎么做的
  • 关于色彩搭配的网站wordpress如何生成网站地图
  • 建设交流网站网站域名注册申请
  • 做电商网站前端的技术选型是企业网络策划
  • 知名网站设计服务商做网络销售保温材料用什么网站好
  • 成都企业网站开发公司做网站需要哪些钱
  • 网站购物流程模块怎么实现从化公司网站建设
  • 深圳企业网站建设服务中心能发朋友圈的网站建设语
  • 济源做网站怎么收费电脑端网页设计尺寸
  • 5建网站义乌网站建设公司
  • 网站开发博客游戏推广网站怎么做
  • 綦江集团网站建设南网站建设 首选搜点网络
  • 建站套餐推荐中国建筑集团有限公司官网赵钊
  • 深喉咙企业网站系统小程序二维码怎么获取
  • 江苏泰州建设局网站资金盘网站建设
  • 河南省新闻出版学校天津网络关键词优化
  • 东莞做一个企业网站要多少钱免费行情软件app网站大全下载安装
  • 网站建设交流发言稿公司网站的开发和网版的重要性
  • 宜昌最权威网站建设公司上海黑马网站制作
  • 淄博网站建设给力臻动传媒什么是网络营销?网络营销与传统营销相比有哪些特点?
  • linux 做网站数据库怎么做外国网站
  • 企业网站推广优化公司做网站要多少钱汉狮
  • 迅腾网络网站建设有限公司wordpress 修改版权
  • 网站空间最便宜代码网站怎么做的
  • 网站制作关键网站如何做收款二维码