首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

leetcode 3. 无重复字符的最长子串----滑动窗口篇1,双指针篇1

无重复字符的最长子串题解集合 滑动窗口---双指针法 哈希优化 数组(桶)代替哈希 动态规划 ---- 滑动窗口—双指针法 思路: 这道题主要用到思路是:滑动窗口 什么是滑动窗口?...len++; maxLength = max(maxLength, len); //然后end指针再继续后移 } return maxLength; } }; ---- 哈希优化...temp = s[end]; //出现重复字符----注意:仅当s[start,end) 中存在s[end]时更新start //因为随着滑动窗口大小和位置的变化,可能某些数据原先已经存入了哈希中...] = end; len++; maxLength = max(maxLength, len); } return maxLength; } }; ---- 数组(桶)代替哈希...注意:这里选择ascall码做桶,数组大小为128.因为ascall的范围是0----127,数组内所有元素初始值为-1,当某个字符出现时,就将其的ascall码对应在数组中的位置值改成当前字符下标

19820

字符函数和字符串函数

参数类型也要是int,但我们输入的不仅可以为整数(字符的ascall码值),也可以是单个字符(因为其类型差距过小,所以系统直接帮其隐式转换)。...字符转换函数 大写字母的ascall码值比小写字母小32,所以小写字母转换为大写只需要减32就行。...(存在隐式转换) 而我们也可以直接用函数去直接转换 头文件都为#include,返回值为ascall码,参数也为ascall码,不过不重要,依然可以参数为字符(有隐式转换)。...getchar和putchar getchar int getchar(void) 所以是getchar(),其作用原理是接收缓冲区的单个字符,并返回字符的ascall码值。...返回值为其字符的ascall码值(int)。 这个相比于getchar简单了些,因为getchar涉及了缓冲区,其更为复杂。

3710

Hive操作二(管理、外部、分区

Hive操作二(管理、外部、分区) *管理 --我们目前所创建的都是管理,也叫内部 --Hive会控制管理数据的生命周期,Hive默认会将数据存储在/user...,LOCATION告诉Hive数据位于哪个路径下 2.因为是外部,所以Hive并非认为其完全拥有这份数据,删除该时并不会删除这份数据,只会删除描述的元数据信息 *管理VS外部...--可以用 DESCRIBE EXTENDED tablename语句的输出中查看到是否是管理或外部 --对于管理,可看到如下信息...) 注:如果语句省略 EXTERNAL 关键字而源是外部的话,那么生成的新也是外部 如果语句省略 EXTERNAL 关键字而源是管理的话,那么生成的新也是管理...如果语句有EXTERNAL关键字而源是管理的话,那么生成的新是外部 *分区管理 --管理和外部都可以加分区 eg:CREATE TABLE IF NOT

86710

多重(广义

但是在我们常见的某些应用,比如Excel的表格中,我们发现并不一定是线性,Excel中的就明显是二维的结构 ? 那么在数据结构中,我们会使用这种广义上的吗?...答案是会,我们也会、或者说我们也能使用这样的非线性。其实我们早就已经在使用这样的非线性、广义了,那就是多维数组。不难发现二维数组就可以抽象成Excel当中的的样子。...可能会有人发现一个小小的问题,就是为什么我又将广义叫作多重呢?...这其实只是一个理解角度的不同而带来的不同叫法罢了,多重这种叫法想表达的主要意思是中的元素可以是另一个,而这另一个中的元素又可以是一个,相当于“一重又一重”的,所以叫多重。...对于这样的应用场景,显然需要使用到一个多重,准确的说是一个二维的多重,其中一维表示课程,另一维表示学生,就像下面的图。那么提到二维的多重,我们脑海中最先浮现的应该就是二维数组了? ?

1K20

的高级操作:倾斜&事务

的高级操作:倾斜&事务 Hive倾斜(Skewed Tables) 什么是倾斜? 对于一列或多列中出现倾斜值的,可以创建倾斜(Skewed Tables)来提升性能。...但如果A是Skewed Tables,A.id=1被设置为倾斜值,那么在执行A与B的Join操作时,会自动进行以下优化: 将B中id=1的数据加载到内存哈希中,分发到A的所有Mapper任务中...set hive.exec.dynamic.partition.mode=nonstrict; 事务的创建 首先对事务进行创建,首先需要是ORC,然后进行分桶,并在中添加属性’transactional...假设有一张名为t,分桶数量只有2的,那它的文件结构应该是下面这种形式。...对于事务,可以查看所有正在进行的事务操作: SHOW TRANSACTIONS; 事务的压缩 随着对事务的操作累积,delta文件会越来越多,事务的读取会遍历合并所有文件,过多的文件数会影响效率

79120

hive中外部、内部、分区、分桶

文章目录 外部 内部 分区 分桶 外部 创建数据库 create database myhive; 选择数据库 use myhive; 创建外部 ( external) create...drop table techer; 再次查看 hadoop fs -ls /user/hive/warehouse/myhive.db/techer(数据依然存在) 内部 创建数据库...create database myhive; 选择数据库 use myhive; 创建内部 create table student(t_id string,t_name string) row...分桶 是在已有的结构之上新添加了特殊的结构 开启hive的桶表功能 set hive.enforce.bucketing=true; 设置桶(reduce)的个数 set mapreduce.job.reduces...load data local inpath ‘/export/servers/hivedatas/course.csv’ into table course_common; 在基本中查询数据插入到分桶

62210

事实与维度

事实与维度 前文介绍了一维和二维的异同及相互转换 今天再来解释一下事实与维度 先来看下表。回忆下,这是一维二维?...单行记录就能锁定全部信息,个别列存在数量重复,没二话,显然是一维 那是不是结账系统里的订单就是这副样子?...你还别笑,不管是谁第一次接触表格,可不就这样的修改的吗 但系统里的一维,往往有成千上万行,靠人工查找修改,无疑愚公移山 那“查找替换”呢?...这里只是打个花式比喻,不必较真) 上图可见,流水表里把大量汉字换成字母/数字编码,将对表格大小起到重要作用 修改信息时也只要在维度定位、变更一条记录即可,而不必在流水表里进行全扫描。...,那“事实”也就不难理解了 事实:表格里存储了能体现实际数据或详细数值,一般由维度编码和事实数据组成 维度:表格里存放了具有独立属性和层次结构的数据,一般由维度编码和对应的维度说明(标签)组成 现实工作中

2.1K40
领券