后端
算法 - 数组主元素(出现次数超过一半的元素)
题目:
整数数组,包含n个元素
主元素 - 某个元素出现次数 > n/2
是否存在主元素
找出主元素
举个例子
数组:[1, 5, 1, 8, 1, 2, 1, 1, 3, 1]
包含6个1,出现次数超过了半数5
1就是主元素
数组:[1, 5, 9, 8, 1, 2, 1, 1, 3, 1]
包含5个1,出现次数不超过半数5
没有主元素
分析
主要逻辑包含两个要点
无论如何都需要统计
CMS算法实现总结-1
一、数据结构
Java的内存整体上可以分为五大类,Java堆,CodeCache,Metaspace,栈内存和JVM自身,栈内存是指Java线程和JVM自身的后台服务线程执行过程中分配的调用栈对应的内存,包括所谓的虚拟机栈和本地方法栈,用于保存执行过程中的本地变量,方法入参,返回地址等方法执行过程中依赖的各种要素;JVM自身是指JVM实现各种功能所依赖的C/C++数据结构所占用的内存。后面两个的地
Android FrameWork--SytemServer进程fork
1、Linux的fork
在Linux平台我们可以通过fork系统调用来创建一个新的进程,这个新的进程将会拥有原始进程的一份副本,包括代码、数据、内存等等。唯一的区别是新的进程拥有一个新的ID,使得它成为一个独立的进程,运行自己的代码。
fork()系统调用会返回两次,在原始进程中会返回进程ID,在新的进程中会返回0。两个进程可以执行相同的任务,也可以按照需要执行不同的代码。
fork的例子
#i
使用ComposeDesktop开发一款桌面端多功能APK工具
前言
终于算是忙完了一个阶段!!!从4月份开始,工作内容以及职务上都进行了较大的变动,最直接的就是从海外项目组调到了国内项目组。国内项目组目前有两个应用在同时跑着,而且还有几个马甲包也要维护,不知道大家发版的时候复杂不复杂,反正我们每次发版的时候都需要经历--打包、加固、对齐、重签名、打渠道包、上传云存储、生成渠道推广链接、生成内更SQL、上传Mapping文件等等步骤(xN),简直是折磨人啊。
图论(六)图的深度优先遍历DFS(非递归方式)
一、深度优先搜索
深度优先搜索是一个针对图和树的遍历算法。早在19世纪就被用于解决迷宫问题。
对于下面的树而言,DFS方法首先从根节点1开始,其搜索节点顺序是1,2,3,4,5,6,7,8(假定左分枝和右分枝中优先选择左分枝)。
DFS的非递归实现方式相比于BFS应该说大同小异,只是把queue换成了stack而已,stack具有后进先出LIFO(Last Input First O
LeetCode #1123 Lowest Common Ancestor of Deepest Leaves 最深叶节点的最近公共祖先
1123 Lowest Common Ancestor of Deepest Leaves 最深叶节点的最近公共祖先
Description:
Given the root of a binary tree, return the lowest common ancestor of its deepest leaves.
Recall that:
The node of a binary tree
Java - NIO网络编程
JAVA NIO
始于Java1.4, 提供了新的Java IO 操作非阻塞API。目的是替代Java IO 和 JAVA Networking相关的API。
NIO中有三个核心的组件:
Buffer 缓冲区
Channel 通道
Selector 选择器
1. Buffer 缓冲区
缓冲区本质上是一个可以写入数据的内存块(类似数组),然后可以再次读取。此内存块包含在NIO Buffer对象