自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 第六章 Scala if..else与循环

Java中的三元表达式是一种简洁的条件语句,它由三部分组成:条件表达式、真值表达式和假值表达式。ELSE 语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。如果布尔表达式为 true 则执行大括号内的语句块,否则跳过大括号内的语句块,执行大括号之后的语句块。if 语句后可以紧跟 else 语句,else 内的语句块可以在布尔表达式为 false 的时候执行。只要给定的条件为 true,Scala 语言中的 while 循环语句会重复执行循环体内的代码块。

2023-09-25 16:54:21 386

原创 第五章 Scala 变量与运算符

变量是一种使用方便的占位符,用于引用计算机内存地址,变量创建后会占用一定的内存空间。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字母。在 Scala 中声明变量和常量不一定要指明数据类型,在没有指明数据类型的情况下,其数据类型是通过变量或常量的初始值推断出来的。所以,如果在没有指明数据类型的情况下声明变量或常量必须要给出其初始值,否则将会报错。以上定义了常量 myVal,它是不能修改的。原码、反码以及补码都是有符号的,其中最高位存放符号位,0 表示正数,1 则表示负数。

2023-07-28 12:05:13 268 1

原创 2390. 从字符串中移除星号

isEmpty 方法用于判断栈是否为空,我们使用 List 的 isEmpty 方法来判断。移除星号 左侧 最近的那个 非星号 字符,并移除该星号自身。解释:整个字符串都会被移除,所以返回空字符串。生成的输入保证总是可以执行题面中描述的操作。给你一个包含若干星号 * 的字符串 s。输入:s = “leet**cod*e”e" 中的 ‘t’ ,s 变为 "lee。输入:s = “erase*****”返回移除 所有 星号之后的字符串。可以证明结果字符串是唯一的。选中 s 中的一个星号。时间复杂度:O(N)

2023-06-25 16:48:22 297

原创 2432. 处理用时最长的那个任务的员工

时间最长的任务是任务 0 和 1 ,处理这两个任务的员工的 id 分别是 0 和 1 ,所以返回最小的 0。返回处理用时最长的那个任务的员工的 id。注意,第 i 个任务在第 (i - 1) 个任务结束后立即开始,且第 0 个任务从时刻 0 开始。时间最长的任务是任务 3 ,而 id 为 1 的员工是处理此任务的员工,所以返回 1。时间最长的任务是任务 1 ,而 id 为 3 的员工是处理此任务的员工,所以返回 3。任务 0 于时刻 0 开始,且在时刻 1 结束,共计 1 个单位时间。

2023-05-05 17:06:35 84

原创 环形链表 II

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。给定一个链表的头节点 head ,返回链表开始入环的第一个节点。如果链表无环,则返回 null。

2023-01-13 08:40:07 60

原创 413. 等差数列划分

基本特点: 1)最优化原理:如果问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构,即满组最优化原理。3)有重叠问题:即子问题之间是不独立的,一个子问题在下一阶段决策中可能被多次使用到。分治法不同的是,适合于用动态规划求解的问题,经分解得到的子问题往往不是互相独立的。基本思想: 将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解(这部分与分治法相似)。例如,[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是等差数列。

2023-01-04 18:14:21 112

原创 HashMap与HashTable的区别与联系

HashMap创建的时候给定初始容量大小,HashMap 会将其扩充为2的幂次方大小(HashMap 中的tableSizeFor()方法保证,下面给出了源代码)。注意:这里计算hash值,先调用hashCode方法计算出来一个hash值,再将hash与右移16位后相异或(异或计算方式:相同为0,不相同为1,可以理解为不进位相加),从而得到新的hash值。HashMap创建的时候如果不指定容量大小,初始容量大小为16,之后每次扩充,容量变为原来的2倍;4.初始容量和每次扩充容量的大小不同。

2023-01-03 15:36:54 508

原创 844. 比较含退格的字符串

给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true。# 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。提示:s 和 t 只含有小写字母以及字符 ‘#’进阶:你可以用 O(n) 的时间复杂度和 O(1) 的空间复杂度解决该问题吗?

2022-12-27 14:26:47 88

原创 面试题 01.05. 一次编辑

字符串有三种编辑操作:插入一个英文字符、删除一个英文字符或者替换一个英文字符。给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。例子:oneEditAway(“teacher”,“treacher”)

2022-12-13 15:29:21 140

原创 SparkStreaming-Kafka通过指定偏移量获取数据

SparkStreaming-Kafka通过指定偏移量获取数据

2022-11-28 16:51:47 659

原创 334. 递增的三元子序列

如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true;解释:三元组 (3, 4, 5) 满足题意,因为 nums[3] == 0 < nums[4] == 4 < nums[5] == 6。进阶:你能实现时间复杂度为 O(n) ,空间复杂度为 O(1) 的解决方案吗?输入:nums = [2,1,5,0,4,6]输入:nums = [1,2,3,4,5]输入:nums = [5,4,3,2,1]

2022-08-23 11:14:56 63

原创 48. 旋转图像

给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

2022-08-19 17:57:56 74

原创 3. 无重复字符的最长子串

空间复杂度:O(∣Σ∣),其中 Σ 表示字符集(即字符串中可以出现的字符∣Σ∣ 表示字符集的大小。时间复杂度:O(N),其中 N 是字符串的长度。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。...

2022-08-17 11:56:50 51

原创 15. 三数之和

给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0?请你找出所有和为 0 且不重复的三元组。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]注意:答案中不可以包含重复的三元组。输入:nums = [0]输入:nums = []...

2022-08-08 23:22:04 68

原创 509. 斐波那契数

斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列。斐波那契数的边界条件是 F(0)=0,F(1)=1。F(n) = F(n - 1) + F(n - 2),其中 n > 1。解释:F(2) = F(1) + F(0) = 1 + 0 = 1。解释:F(3) = F(2) + F(1) = 1 + 1 = 2。解释:F(4) = F(3) + F(2) = 2 + 1 = 3。给定 n ,请计算 F(n)。由于斐波那契数存在递推关系。时间复杂度:O(n)空间复杂度:O(1)...

2022-08-07 15:58:46 86

原创 100. 相同的树

如果两个二叉树都不为空,那么首先判断它们的节点(包括根节点)的值是否相同,若不相同则两个二叉树一定不同,若相同,再分别判断两个二叉树的左子树是否相同以及右子树是否相同。两个二叉树相同,当且仅当两个二叉树的结构完全相同,且所有对应节点的值相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。输入:p = [1,2], q = [1,null,2]输入:p = [1,2,3], q = [1,2,3]输入:p = [1,2,1], q = [1,1,2]方法一:深度优先搜索。...

2022-08-05 18:52:05 80

原创 925. 长按键入

偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。输入:name = “saeed”, typed = “ssaaedd”解释:‘e’ 一定需要被键入两次,但在 typed 的输出中不是这样。输入:name = “alex”, typed = “aaleex”时间复杂度:O(N+M),其中 M,N 分别为两个字符串的长度。解释:‘alex’ 中的 ‘a’ 和 ‘e’ 被长按。空间复杂度:O(1)。..

2022-08-04 17:35:17 48

原创 94.144.145 二叉树的前序遍历、中序遍历、后序遍历

二叉树的前序遍历:按照访问根节点——左子树——右子树的方式遍历这棵树,而在访问左子树或者右子树的时候,我们按照同样的方式遍历,直到遍历完整棵树。二叉树的中序遍历:按照访问左子树——根节点——右子树的方式遍历这棵树,而在访问左子树或者右子树的时候,我们按照同样的方式遍历,直到遍历完整棵树。二叉树的后序遍历:按照访问左子树——右子树——根节点的方式遍历这棵树,而在访问左子树或者右子树的时候,我们按照同样的方式遍历,直到遍历完整棵树。给你二叉树的根节点 root ,返回它节点值的 前序,中序,后续遍历。...

2022-08-03 16:54:56 83

原创 33. 搜索旋转排序数组

在传递给函数之前,nums 在预先未知的某个下标 k(0

2022-08-02 23:08:24 57

原创 633. 平方数之和

当a=b时,结束查找,此时如果仍然没有找到整数a和b满足a^2+b^2=c,则说明不存在题目要求的解,给定一个非负整数c,你要判断是否存在两个整数a和b,使得a^2+b^2=c。如果a^2+b^2=c,我们找到了题目要求的一个解,返回true;不失一般性,可以假设a...

2022-08-01 22:51:33 90

原创 73. 矩阵置零

请使用原地算法。输入matrix=[[0,1,2,0],[3,4,5,2],[1,3,1,5]]一个简单的改进方案是使用O(m+n)的额外空间,但这仍然不是最好的解决方案。一个直观的解决方案是使用O(mn)的额外空间,但这并不是一个好的解决方案。输入matrix=[[1,1,1],[1,0,1],[1,1,1]]输出[[0,0,0,0],[0,4,5,0],[0,3,1,0]]输出[[1,0,1],[0,0,0],[1,0,1]]你能想出一个仅使用常量空间的解决方案吗?...

2022-07-31 12:01:40 221

原创 1351. 统计有序矩阵中的负数

给你一个m*n的矩阵grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。请你统计并返回grid中负数的数目。输入grid=[[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]输入grid=[[3,2],[1,0]]解释矩阵中共有8个负数。...

2022-07-30 22:30:29 212

原创 242. 有效的字母异位词

注意若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。输入s=“anagram”,t=“nagaram”输入s=“rat”,t=“car”s和t仅包含小写字母。...

2022-07-29 22:10:35 49

原创 1539. 第 k 个缺失的正整数

由于数组是严格递增的,所以可以认为一个不缺失的数组是从1开始的nums=[1,2,3,4,…否则说明缺失正整数pivot,用一个变量count记录已经找到的缺失个数,count++,直到找到第k个缺失的正整数。若当前arr[i]==pivot,说明当前i位置之前都不缺元素,继续向后遍历i++,初始化基准pivot=1,并令i=1从头遍历数组arr。varpivot=1//当前应该出现的数。varcount=0//缺失个数。......

2022-07-28 15:22:57 83

原创 80. 删除有序数组中的重复项 II

解释函数应返回新长度length=7,并且原数组的前五个元素被修改为0,0,1,1,2,3,3。解释函数应返回新长度length=5,并且原数组的前五个元素被修改为1,1,2,2,3。时间复杂度O(n),其中n是数组的长度。输入nums=[0,0,1,1,1,1,2,3,3]输出7,nums=[0,0,1,1,2,3,3]空间复杂度O(1)。输出5,nums=[1,1,2,2,3]输入nums=[1,1,1,2,2,3]...

2022-07-27 17:08:51 54

原创 66. 加一

时间复杂度O(logx),即为二分查找需要的次数。空间复杂度O(1)。

2022-07-26 11:00:26 52

原创 367. 有效的完全平方数

36.有效的完全平方数折半查找最优时间复杂度O(logx),即为二分查找需要的次数。空间复杂度O(1)。

2022-07-25 11:20:21 142

原创 876. 链表的中间结点

考虑借助快慢双指针fast,slow,「快指针fast」每轮走2步,「慢指针slow」每轮走1步。ans.val=3,ans.next.val=4,ans.next.next.val=5,以及ans.next.next.next=NULL.链表长度为偶数当fast走到「null」时(越过「尾节点」后),slow正好走到「第二个中间节点」。链表长度为奇数当fast走到链表「尾节点」时,slow正好走到「中间节点」。输入[1,2,3,4,5,6]......

2022-07-24 18:42:54 61

原创 167. 两数之和 II - 输入有序数组

给你一个下标从1开始的整数数组numbers,该数组已按非递减顺序排列,请你从数组中找出满足相加之和等于目标数target的两个数。如果设这两个数分别是numbers[index1]和numbers[index2],则1

2022-07-23 14:29:15 55

原创 189. 轮转数组

输入nums=[1,2,3,4,5,6,7],k=3。输入nums=[-1,-100,3,99],k=2。向右轮转1步[7,1,2,3,4,5,6]向右轮转2步[6,7,1,2,3,4,5]向右轮转3步[5,6,7,1,2,3,4]向右轮转1步[99,-1,-100,3]向右轮转2步[3,99,-1,-100]输出[5,6,7,1,2,3,4]输出[3,99,-1,-100]...

2022-07-22 15:06:48 70

原创 704. 二分查找

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1提示:你可以假设 nums 中的所有元素是不

2022-07-21 16:15:37 36

原创 1527. 患某种疾病的患者

写一条SQL语句,查询患有I类糖尿病的患者ID(patient_id)、患者姓名(patient_name)以及其患有的所有疾病代码(conditions)。了解以上的正则需求后,我们就可以根据自己的需求来编写带有正则表达式的SQL语句。_只能匹配1个字符,即’_A’,在’1A’、‘1AB’列表里,仅返回’1A’‘conditions’(疾病)包含0个或以上的疾病代码,以空格分隔。patient_id(患者ID)是该表的主键。常用通配符有两个‘%‘百分号、’_‘下划线。......

2022-07-20 15:09:26 176

原创 第四章数据类型与操作符

Scala.Null和scala.Nothing是用统一的方式处理Scala面向对象类型系统的某些"边界情况"的特殊类型。Null类是null引用对象的类型,它是每个引用类(继承自AnyRef的类)的子类。Null不兼容值类型。如果浮点数后面有f或者F后缀时,表示这是一个Float类型,否则就是一个Double类型的。scala类型层次结构所有的类型都是从Any继承了,也就是我们Scala是一种单根继承体系。Null类型并不能转换为Int类型,说明Null类型并不是Int类型的子类,也就是不是数值。...

2022-07-20 09:31:06 66

原创 196. 删除重复的电子邮箱

编写一个SQL删除语句来删除所有重复的电子邮件,只保留一个id最小的唯一电子邮件。以任意顺序返回结果表。(注意仅需要写删除语句,将自动对剩余结果进行查询)本题的解题思路是,先查出需要删除的数据,也就是Email字段相同,而id大的那一行数据。解释john@example.com重复两次。我们保留最小的Id=1。该表的每一行包含一封电子邮件。然后进行使用delete进行删除上面条件的数据。本题使用的是方式2,进行解题的。需要先进行查出删除数据。id是该表的主键列。...

2022-07-19 16:26:22 783

原创 6120-数组能形成多少数对

nums[0]和nums[3]形成一个数对,并从nums中移除,nums=[3,2,3,2,2]。nums[0]和nums[3]形成一个数对,并从nums中移除,nums=[3,2,3,2,2]。nums[0]和nums[2]形成一个数对,并从nums中移除,nums=[2,2,2]。nums[0]和nums[2]形成一个数对,并从nums中移除,nums=[2,2,2]。总共形成1个数对,nums中剩下0个数字。......

2022-07-18 10:44:29 123

原创 第三章Scala 基础语法

如果你之前是一名Java程序员,并了解Java语言的基础知识,那么你能很快学会Scala的基础语法。Scala与Java的最大区别是Scala语句末尾的分号;是可选的。我们可以认为Scala程序是对象的集合,通过调用彼此的方法来实现消息传递。...

2022-07-17 20:58:04 96

原创 第二章Scala安装和环境配置

Scala是基于java之上,大量使用java的类库和变量,使用Scala之前必须先安装Java(>1.5版本),工业使用Java版本通常是JDK1.8,故在此推荐使用JDK1.8,本次安装也是使用JDK1.8版本。(image.png-b50fbc-1657961051672-0)]在DOS窗口处,输入以下命令,校验是否安装成功。scalaSDK是scala语言的编译器,要开发scala程序,必须要安装SDK。本次安装的版本是2.11.8,环境变量配置如下。...

2022-07-16 17:17:30 2102

原创 第一章Scala简介

scala是运行在JVM上的多范式编程语言,同时支持面向对象和面向函数编程。多范式就是包含多种编程思想。目前主流的编程思想有4中,即面向对象、面向过程、面向函数、以及泛型面向函数一句话形容函数也是一个对象,可以作为参数进行传递。也就是面向对象传递的参数是具体的对象或者值函数式编程传递的参数可以是一个函数(处理逻辑)...

2022-07-16 17:10:32 171

原创 Spark删除redis千万级别set集合数据

大数据处理,Spark删除redis千万级别数据。

2022-07-15 18:17:07 660

原创 匿名内部类

Rick匿名内部类1.不使用匿名内部类来实现抽象方法2.匿名内部类的基本实现3.在接口上使用匿名内部类匿名内部类匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口1.不使用匿名内部类来实现抽象方法abstract class Person {public abstract v...

2019-08-11 20:47:48 87

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除