多数元素ILeetCode 第169题 简单题
给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。
示例1
输入:nums = [3,2,3]输出:3
示例2
输入:nums = [2,2,1,1,1,2,2]输出:2
查看提示
n == nums.length1 <= n <= 5 * 104-109 <= nums[i] <= 109
进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。
HashMap法 HashMap法解题思路
遍历整个数组,对记录每个数值出现的次数(利用 HashMap,其中 key 为数值,value 为出现次数)再去遍历这个 HashMap ,如果这个数值出现的次数 > ⌊ n/2 ⌋ ...
数据开发
未读常用端口号
常用端口号
2.x
3.x
访问 HDFS 端口号
50070
9870
NN 内部通信端口
9000
8020
访问 MR 执行任务情况端口
8088
8088
Yarn 内部通信端口
8032
8032
访问历史服务器端口
19888
19888
历史服务器内部端口
10020
10020
常用配置文件
常用配置文件
作用
core-site.xml
配置 Hadoop 的基本属性,例如 HDFS 的默认文件系统、I/O 和记录日志等设置。
hdfs-site.xml
配置 HDFS 的属性,例如数据块大小、副本数量、名字节点和数据节点的地址、缓存等。
yarn-site.xml
配置 YARN 的属性,例如资源管理器和节点管理器的地址、内存和 CPU 的分配、日志聚合等。
mapred-site.xml
配置 MapReduce 的属性,例如作业跟踪器和任务跟踪器的地址、作业优先级、输出压缩等。
hadoop-env.sh
配置 Hadoop 的环境变量,例如 JAVA_HOME、HADOOP_H ...
旋转数组的最小数字剑指 Offer 第11题 简单题 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小值为 1。
注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]] 。
示例1
输入: numbers = [3,4,5,1,2]输出: 1
示例2
输入: numbers = [2,2,2,0,1]输出: 0
查看提示
n == numbers.length1 <= n <= 5000-5000 <= numbers[i] <= 5000numbers 原来是一个升序排序的数组,并进行了 1 至 n 次旋转
...
一、更换清华镜像源1. 打开终端并备份当前的软件源列表 1sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
2. 使用以下命令打开 /etc/apt/sources.list 文件 1sudo vim /etc/apt/sources.list
3. 将文件中的内容替换为以下清华镜像源的内容 1234567891011deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiversedeb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiversedeb-src https://mirro ...
基于 Ububtu Server 20.04.1 LTS 版本Hadoop 3.1.3 版本
一、重新设置主机名12hostnamectl set-hostname localhostbash
二、关闭防火墙防火墙常用命令
Ubuntu安装防火墙 sudo apt-get install ufw -y
查看防火墙开启状态 sudo ufw status
开启某个端口(以8866为例) sudo ufw allow 8866
开启防火墙 sudo ufw enable
关闭防火墙 sudo ufw disable
重启防火墙 sudo ufw reload
禁止某个端口(以8866为例) sudo ufw delete allow 8866
查看端口IP netstat -ltn
2.1 关闭防火墙1ufw disable
2.2 检查防火墙是否关闭1ufw status
三、设置IP映射2.1 主节点配置 hosts 文件1vim /etc/hosts
3.2 添加ip地址和主机名110.211.55.60 localhost
3.3 测试IP映射配置1pin ...
Git版本控制什么是GitGit 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
可以实现软件的版本控制,在多个版本之间切换
可以实现多分支开发,提高开发效率
可以实现历史记录,历史状态的恢复
团队内部实现权限管理等
Git工作流程
Git的工作流程分为四个模块:
工作目录:存放我们正在写的代码(当我们新版本开发完成之后,就可以进行新版本的提交)
暂存区:暂时保存待提交的内容(新版本提交后会存放到本地仓库)
本地仓库:位于我们电脑上的一个版本控制仓库(存放的就是当前项目各个版本代码的增删信息)
远程仓库:位于服务器上的版本控制仓库(服务器上的版本信息可以由本地仓库推送上去,也可以从服务器抓取到本地仓库)
安装Git可以前往 Git 的官网进行下载安装 https://git-scm.com
在安装完成后,需要设定全局用户名和邮箱来区分不同的用户:
12git config --global user.name "Your Name"git config --global user.email "email@exampl ...
Scala 模式匹配模式匹配简单示例1234567891011121314val oper: Char = '+'val n1: Int = 20val n2: Int = 10var res: Int = 0oper match { case '+' => res = n1 + n2 case '-' => res = n1 - n2 case '*' => res = n1 * n2 case '/' => res = n1 / n2 case _ => println("oper error")}println("res:\t" + res)
说明:
1. match 和 case 是 scala 中模式匹配的关键字
1. 如果匹配成功,执行 => 后的代码块
1. 匹配顺序是从上到下的,匹配到就执行对应的代码
1. => 还没的代码块不需要写 break ,会自动退出 ...
偏函数(partial function)这里通过一个例子来了解一下什么是偏函数
需求:将一个 Any 类型的列表中的数字+1,非数字忽略
123456789val list: List[Any] = List(1, 2, 3, 4, "hello")list// 过滤 Int 类型之外的类型.filter(_.isInstanceOf[Int])// 将 Any 类型转为 Int 类型.map(_.asInstanceOf[Int])// 数字+1.map(_ + 1)
这里虽然解决了问题,但是太过于麻烦了
这里还可以通过模式匹配的方法去解决
1234list.map { case x: Int => x + 1 case _ =>}
虽然使用模式匹配比较简洁,但还是不够完美,这里我们就要通过偏函数去达到更加简洁方便的去解决这个问题
那么什么是偏函数呢?
在对符合某个条件时,而不是所有情况进行逻辑操作时,使用偏函数是个不错的选择
将包括在大括号内的一组 case 语句封装为函数,称之为偏函数,它只会对作用于指定类型的参数或者指定 ...
高阶函数(high-order function) 及 函数柯里化能够接收函数作为参数的函数,叫做高阶函数(high-order function)
可以使应用程序更加健壮
123456789def highFunc(f: Double => Double, num: Double): Unit = { f(num)}def sum(num: Double): Double = { num + num}highFunc(sum,6.0)
高阶函数可以接收多个函数作为参数
高阶函数可以返回一个函数
1234567def minusxy(x: Int) = { // 匿名函数 (y: Int) => x - y}// 输出结果是 8 - 5 = 3println(minusxy(8)(5))
说明:
minusxy 是高阶函数,返回了一个匿名函数
返回的匿名函数 (y: Int) => x - y
返回的匿名函数可以使用变量接收
闭包(closure)闭包就是一个函数和与其相关的引用环境组合的一个整体 ...
Scala泛型泛型的意思是 泛指某种具体的数据类型,在 Scala 中泛型用 [数据类型] 表示。
泛型方法通过getMiddleElement方法获取任意数据类型的数组中的中间元素
123def getMiddleElement[T](array: Array[T]): T = { array(array.length / 2)}
泛型类定义一个Pair泛型类,这个类中包含两个字段且字段类型不固定
1class Pair[T](var x: T, var y: T)
泛型特质Loggers是一个泛型特质,ConsoleLogger继承了Loggers,并重写了其 x 字段和 show 方法
1234567891011trait Logger[T] { val x: T def show(y: T)}object ConsoleLogger extends Logger[String] { override val x: String = "log" override def show(y: String) ...