1 lightupworld

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 19w+

Scala编程——面向对象编程(初级部分)

面向对象编程(初级部分)一、预备知识二、类与对象1.类与对象的关系2.类的定义3.属性(成员变量)4. 对象本章开始学习Scala面向对象编程内容,内容分成初级、中级、高级部分。一、预备知识Java是面向对象的编程语言,由于历史原因,Java中还存在着非面向对象的内容:基本类型 ,null,静态方法等。Scala语言来自于Java,所以天生就是面向对象的语言,而且Scala是纯粹的面向对象的语言,即在Scala中,一切皆为对象。二、类与对象1.类与对象的关系类是抽象的,概念的,代表一类事

2020-08-06 15:18:16

695.岛屿的最大面积——DFS详解+网格类题目通用解法

695.岛屿的最大面积一、题目二、分析三、题解四、复杂度一、题目给定一个包含了一些 0 和 1 的非空二维数组 grid 。一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。)示例 1:[[0,0,1,0,0,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,0,0,0],

2020-08-04 18:48:47

Hive常用命令及问题

记录工作中Hive方面的常用命令和问题一、常用命令一、常用命令1.查看文件路径进入hive客户端:dfs -ls 路径dfs -ls oss://xxx/xxx/xxx/dt=2020-08-04不进入hive客户端: hadoop fs -ls 或者 hdfs dfs -lshadoop fs -ls oss://xxx/xxx/xxx/dt=2020-08-042.查看文件大小进入hive客户端:dfs -du -h 路径dfs -du -h oss://x

2020-08-04 17:29:41

Kafka常用命令及问题

记录工作中Kafka方面的常用命令和问题一、常用命令二、常见问题一、常用命令二、常见问题如何查看Kafka的安装路径。jps -> ps -ef | grep kafka的进程号

2020-08-03 11:09:41

Linux常用命令及问题

记录工作中Linux方面的常用命令和问题一、常用命令一、常用命令1.查看进程号。jpsjps -mlvV1.查看进程详情。比如查看kafka的安装路径等等ps -ef | grep 进程号

2020-08-03 11:02:45

Scala编程——Scala函数式编程高级(下)

Scala函数式编程高级(下)一、闭包二、柯里化三、尾递归四、偏函数(Partial Functions)五 、控制抽象一、闭包在Scala中,你可以在任何作用域内定义函数。如在包中、类中、甚至是另一个函数或方法中。在函数体内,你可以访问到相应作用域内的任何变量(这很正常),但是当变量不在作用的时候,函数仍然可以访问到这个变量。这样一个函数称作"闭包"。闭包由代码和代码用到的非局部变量定义构成。 闭包可以让你的函数访问非局部变量。定义一个函数字面量:val addMore = (x: Int) =

2020-07-31 12:25:26

Scala编程——Scala函数式编程高级(上)

Scala函数式编程高级(上)一、作为值的函数二、函数字面量1.字面量2.函数字面量(匿名函数)3.函数字面量的简写(1)简写规则:(2)正确使用占位符三、带参数的函数四、高阶函数五、部分应用函数(Partially Applied Functions)一、作为值的函数在Scala中,函数是"头等公民",就和数字一样,你可以在变量中存放函数。import scala.math._val num = 3.14val fun = ceil _ //注意有个下划线_这段代码将num设为3.14

2020-07-31 10:54:02

Scala编程——Scala函数式编程(基础)

Scala函数式编程基础(上)一、概念说明1.方法与函数2.函数式编程与面向对象编程二、函数的定义1.基本语法2.函数的调用三、过程(procedure)1.基本概念四、惰性函数五、异常六、函数字面量Scala函数式编程分成基础部分和高级部分。高级部分参考:一、概念说明1.方法与函数方法: 定义函数最常用的方式是作为某个对象的成员。这样的函数被称为方法。函数:在Scala中函数和方法几乎可以等同(定义、使用、运行机制都是一样的),只是函数的使用方式更加灵活。区别:Scala中函数是一等公民,像

2020-07-29 18:45:58

Scala编程——Scala高级for循环

Scala高级for循环一、基础用法二、高级用法一、基础用法1.基础语法语法:for ( i <- 表达式)scala 不支持java的for(初始变量;条件;更新变量)的写法。i:循环变量,<- :循环符, 表达式: 循环的区间。通过 " i<- 表达式 " 这样的生成器语法,可以遍历表达式区间的元素。for(i <- 1 to 3) println(i) // 1 to 3 左闭右闭 包含1和3for(i <- 1 until 3) println(

2020-07-28 11:55:11

Scala编程——Scala流程控制

Scala流程控制一、流程控制说明二、分支控制1.if-else2. switch(模式匹配)三、循环控制1.while1.1while循环中的中断2.for3.while与for一、流程控制说明Scala流程控制结构和java语言基本相同。主要有以下三种结构:顺序控制:程序从上到下顺序执行,中间没有任何的判断和跳转分支控制:if-else分支; switch分支(scala中没有switch,而是使用模式匹配,后面单独讲解)循环控制:while循环、for循环(for功能很强大,后面单独讲。

2020-07-28 10:48:45

5. 最长回文子串——暴力解法+动态规划+中心扩散

5. 最长回文子串一、题目二、分析三、题解一、题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”链接: 5.最长回文串二、分析暴力匹配最简单也是最直接的方法。直接暴力遍历字符串,枚举所有长度>= 2的子串,依次判是否是回文。具体实现时,记录当前回文串的长度,可以根据当前的最大长

2020-07-27 17:17:11

Scala编程——Scala基础入门(变量、数据类型、运算符)

Scala基础入门一、变量1.定义变量2.深入理解var 和 val二、数据类型1.AnyVal和AnyRef2.Scala类的继承关系3.Scala隐式转化三、运算符一、变量1.定义变量基本语法val | var 变量名 [:变量类型] = 变量值 //例子 val age: Int = 12 var sal: Double = 10000.5 var sal = 12000.5注意事项1.变量类型可以省略。Scala可以通过类型推断,推断出那些不显示指定的类型。2. 类型确定

2020-07-27 14:48:22

Scala编程——Scala简介

Scala基础入门1.Scala简介1.1.Scala是什么?1.2 why Scala?注:文章参考《Scala编程》和《快学Scala》。仅用于个人学习记录,侵权删。1.Scala简介1.1.Scala是什么?Scala 是一门综合了面向对象和函数式编程概念的静态类型的编程语言。运行在标准的 Java 平台上,可以与所有 Java 类库无缝协作。Scala是面向对象的。它对面向对象的实现是纯的:每个值都是对象,每个操作都是方法调用。比如 1+2 ,实际上是在调用 Int 类里定义的名+

2020-07-27 10:45:04

Java——String类的用法详解

Java String类的用法详解一、String二、StringBuilder三、StringBuffer一、StringString:适用于少量的字符串操作。二、StringBuilder线程不安全 StringBuilder的方法没有synchronized键字修饰,所以不能保证线程安全性。适用于单线程下在字符串缓冲区进行大量操作。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)运算速度比较(通常情况下):StringB

2020-07-24 10:31:28

剑指 Offer 07. 重建二叉树——【前中序】和【中后序】重建二叉树的递归思路详解

剑指 Offer 07. 重建二叉树一、题目二、分析三、题解四、复杂度分析五、扩展:从中序与后序遍历序列构造二叉树一、题目剑指 Offer 07. 重建二叉树105. 从前序与中序遍历序列构造二叉树 二、分析[首先不考虑代码,如何根据前序中序将二叉树还原]前序遍历的特点: 节点按照 [根 | 左 | 右] ; 后序 :[根 | 左 | 右] 排序根据以上特点,按照以下顺序 可以 还原出二叉树1. 前序数组的首个元素即为根节点root的值2. 在中序数组中找到根节点root

2020-07-22 14:51:04

剑指 Offer 55 - I. 二叉树的深度——DFS+BFS解题

剑指 Offer 55 - I. 二叉树的深度一、题目二、分析三、题解一、题目二、分析二叉数遍历问题一般就两种解题方法:DFS + DFS可参考文章:二叉树遍历系列总结+递归/迭代的统一写法三、题解DFSclass Solution { public int maxDepth(TreeNode root) { //【递归 实质上就是 DFS】 //递归终止条件 if(root == null) return 0

2020-07-21 15:32:30

二叉树遍历系列总结+递归/迭代的统一写法

二叉树遍历系列总结+递归/迭代的统一写法一、题目二、分析:DFS/BFS 与树的遍历三、递归的写法四、迭代写法1. 不统一版本的迭代写法2. 统一版本写法本文提供LeetCode 二叉树 前中序层 四种遍历方式的 递归 和 迭代 统一写法递归写法很简单,在面试中不足以获得面试官的青睐,应该重点掌握迭代写法一、题目144. 二叉树的前序遍历94 . 二叉树的中序遍历145. 二叉树的后序遍历二、分析:DFS/BFS 与树的遍历有两种通用的遍历树的策略:深度优先搜索(DFS)在

2020-07-20 16:53:13

剑指 Offer 40. 最小的k个数——TopN问题

剑指 Offer 40. 最小的k个数_TopN问题一、题目二、题解分析三、题解四、复杂度分析一、题目输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]限制:0 <= k <= arr.length <= 10

2020-07-17 18:03:38

剑指 Offer 42. 连续子数组的最大和——动态规划详细解题思路

剑指 Offer 42. 连续子数组的最大和一、题目输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。提示:1 <= arr.length <= 10^5-100 <= arr[i] <= 100注意:本题与主站 53

2020-07-15 14:56:38

什么是动态规划(Dynamic Programming)?动态规划的意义是什么?(2)

什么是动态规划(Dynamic Programming)?动态规划的意义是什么? 第二篇注:本文源自知乎两篇文章,第一篇注重基础原理讲解 第二篇注重解题思路分析。仅用于个人学习,侵权删。第二篇作者:苗华东连接:阅读原文来源:知乎本文清楚的讲解了什么是动态规划,同时也能给一种如何分析、求解动态规划的思考方式。...

2020-07-15 10:26:13

查看更多

勋章 我的勋章
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。