八数码问题 逆序对个数变化问题 首先复习一下逆序对,在一个序列中,如果下标$i<j$并且$A[i]>A[j]$则称ij为一对逆序对,可以看到逆序对最多为$n*(n-1)/2$,这种成对的关系中。 如果将八数码看做是一条字符串的话,那么每一次移动必然会使得逆序对个数的奇偶性发生改变。这一原理是极易证明 ...
分类:
其他好文 时间:
2020-09-12 21:37:17
阅读次数:
31
题目链接:String Similarity 题意: 首先题目定义了两个串的相似(串的构成是0、1),如果两个串存在对于一个下标k,它们的值一样,那么这两个串就相似 然后题目给你一个长度为2n-1的串,我们设下标从1开始,那么[1,n],[2,n+1],[3,n+2]...[n,2n-1]每一个都是 ...
分类:
其他好文 时间:
2020-09-10 23:20:02
阅读次数:
48
1. 两数之和 题目分析 判断target - nums[i]是否在哈希表中,如果在,就加入res中;将nums[i]加入哈希表中,返回下标。 class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { v ...
分类:
其他好文 时间:
2020-09-09 18:49:50
阅读次数:
33
一,字典的使用场景 字典,字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可。 二,创建字典的语法 字典的特点: 1,括号为大括号 2,数据为键值对形式出现 3,各个键值对之间用逗号隔开 # 有数据字典 dict ...
分类:
编程语言 时间:
2020-09-07 18:47:59
阅读次数:
34
JDBC JDBC是什么? Java DataBase Connectivity(Java语言连接数据库) JDBC的本质是什么? JDBC是SUN公司制定的一套接口(interface) 接口都是有调用者和实践者。 面向接口调用、面向接口写实现类,这都属于面向接口编程。 为什么要面向接口编程? 解 ...
分类:
数据库 时间:
2020-09-04 17:24:26
阅读次数:
52
散列表,哈希表,hash表,Hashtable 都是同一个概念 1. 散列表来源于数组,它借助散列函数对数组这种数据结构进行扩展,利用的是数组支持按照下标随机访问元素的特性。 2. 散列函数,即通过一个方法让hash(key)尽可能均匀的分布到预置容器长度内,但几乎不可能避免散列冲突。散列函数的设计 ...
分类:
其他好文 时间:
2020-09-04 17:19:17
阅读次数:
48
1.简单理解稀疏数组 可以把稀疏数组理解为只保存有效数据的一种数组,其针对的自然是有大量无用数据的数组。直接上图 原数组 稀疏数组 稀疏数组第一行类似于表格的表头,依次代表原数组的行数、列数、非零数个数(用零代表无用数据)。第一行之下的每一行都代表有一个非零数,第一列的数字代表非零数的行下标(数组下 ...
分类:
编程语言 时间:
2020-09-04 17:11:04
阅读次数:
43
1、C语言,★★★★★学什么语言既能帮助理解计算机原理,提升内功,同时还有实用价值?我觉得答案就是C。而且C语言还附带语言特性少、学习周期短的好处。简直是最有学习价值的语言。而且,想要理解Python、Lua等语言的源码,熟练掌握C语言必不可少。2、Python,★★★★★Python帮助你用最少的代码,完成最多的功能,和C语言形成互补。功能多、用法多、思维负担小,想干什么干什么。***有一种传统观
分类:
编程语言 时间:
2020-09-04 17:07:35
阅读次数:
102
求数组中不相邻的最大值 解决方案,假设opt数组为最优解,比如opt[6]就表示arr数组中下标0到6这段的最优解 即opt[n]=Math.max(opt[n-1],opt[n-2]+arr[n]) 上诉公式表示 不取下标为n的选项和取下标为n的选项两种方案的最大值 边界为 opt[0]=arr. ...
分类:
编程语言 时间:
2020-09-03 17:06:29
阅读次数:
51
资源限制 时间限制:3.0s 内存限制:256.0MB 问题描述 给定一条标有整点(1, 2, 3, ...)的射线. 定义两个点之间的距离为其下标之差的绝对值. Laharl, Etna, Flonne一开始在这条射线上不同的三个点, 他们希望其中某个人能够到达下标最大的点. 每个角色只能进行下面 ...
分类:
编程语言 时间:
2020-09-03 16:29:26
阅读次数:
42