数组 原理java 03

剑指 Offer 03. 数组中重复的数字

剑指 Offer 03. 数组中重复的数字 传送门 题目 ​ 找出数组中重复的数字。 ​ 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 限制: 2 <= n ......
数组 数字 Offer 03

对象数组

对象数组 对象数组的基本介绍 代码实例 Person类 public class Person { private String name; private int age; public Person() { } public Person(String name, int age) { this ......
数组 对象

阿里云 SMS 短信 Java SDK 封装

Github & Issues: https://github.com/cn-src/aliyun-sms 官方文档:https://help.aliyun.com/document_detail/55284.html?spm=5176.8195934.1001856.3.5cd64183fNqod ......
短信 Java SMS SDK

dpt-shell 抽取壳实现原理分析(执行逻辑)

开源项目位置(为大佬开源精神点赞) https://github.com/luoyesiqiu/dpt-shell 抽取壳分为两个步骤 加壳逻辑: 一 对apk进行解析,将codeItem抽出到一个文件中,并进行nop填充 二 对抽取后的apk进行加密 三 注入壳程序相关文件即配置信息 执行逻辑: ......
dpt-shell 逻辑 原理 shell dpt

java synchronized 和 volatile

总结 synchronized 可以保证原子性、可见性、有序性;volatile 能保证可见性、有序性 synchronized 锁住的是代码块或方法;volatile 锁的是单个变量 对于 synchronized 来说,因为互斥的原因,天然可以保证原子性和有序性,可见性原理我看了很多文档说的都不 ......
synchronized volatile java

IntelliJ Idea 出现java.lang.UnsatisfiedLinkError: no XXX in java.library.path的提示

在菜单Run -> Edit Configurations -> Application 里的你的项目的Configuration -> VM Options里添加: -Djava.library.path=/usr/local/java/lib:/usr/local/hadoop/lib ......

基于布尔莎模型模型的二维的仿射变换(java与postgis)-)----四、七参数坐标转换

基于布尔莎模型模型的二维的仿射变换(java与postgis)-) 四、七参数坐标转换 1、布尔莎模型。 布尔莎模型可以为是三维的仿射变换,在三维空间直角坐标系中,平移,旋转,缩放都三个维度,布尔莎模型的参数则包括:3个平移参数x0,y0,z0;三个旋转参数anx,any,anz;一个尺度参数m。即 ......
仿射 模型 布尔 坐标 参数

【解释器设计模式详解】C/Java/Go/JS/TS/Python不同语言实现

简介 解释器模式(Interpreter Pattern)是一种行为型设计模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式常被用在 SQL 解析、符号处理引擎等。 解释器模式常用于对简单语言的编译或分析实例中,为了掌握好它的结构与实现,必须先了解编译原理中的“文法、句子、语法 ......
解释器 设计模式 语言 模式 Python

java 如何计算两个汉字的相似度?如何获得一个汉字的相似汉字?

计算汉字相似度 情景 有时候我们希望计算两个汉字的相似度,比如文本的 OCR 等场景。用于识别纠正。 实现 引入 maven <dependency> <groupId>com.github.houbb</groupId> <artifactId>nlp-hanzi-similar</artifac ......
两个 java

dpt-shell 抽取壳实现原理分析(加壳逻辑)

开源项目位置(为大佬开源精神点赞) https://github.com/luoyesiqiu/dpt-shell 抽取壳分为两个步骤 加壳逻辑: 一 对apk进行解析,将codeItem抽出到一个文件中,并进行nop填充 二 对抽取后的apk进行加密 三 注入壳程序相关文件即配置信息 执行逻辑: ......
加壳 dpt-shell 逻辑 原理 shell

力扣 33. 搜索旋转排序数组

整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., ......
数组 33

Java工作流Activity

Java 端的开源工作流 https://www.activiti.org/documentation 开始使用 https://www.activiti.org/quick-start 使用Activiti将业务流程管理(BPM)嵌入到您的应用程序中的简便性 标准的业务流程建模表示法(BPMN)逻 ......
工作流 Activity Java

PAT-basic-1029 旧键盘 java c++

一、题目 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。 输入格式: 输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 ......
PAT-basic 键盘 basic 1029 java

Java构建树结构的公共方法

一、前提 pId需要传入用来确认第一级的父节点,而且pId可以为null。 树实体类必须实现:TreeNode接口 MyTreeVo必须有这三个属性:id、pId、children 可以根据不同需求,配置TreeNode和MyTreeVo中固定的属性 二、代码 定义TreeNode接口 public ......
结构 方法 Java

PAT-basic-1028 人口普查 java c++

一、题目 某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。 ......
PAT-basic 人口 basic 1028 java

Java语言在Spark3.2.4集群中使用Spark MLlib库完成XGboost算法

一、概述 XGBoost是一种基于决策树的集成学习算法,它在处理结构化数据方面表现优异。相比其他算法,XGBoost能够处理大量特征和样本,并且支持通过正则化控制模型的复杂度。XGBoost也可以自动进行特征选择并对缺失值进行处理。 二、代码实现步骤 1、导入相关库 import org.apach ......
Spark 集群 算法 XGboost 语言

两数组相交问题

原题目链接题目链接 思路:利用std::set的不重复性,插入vec1所有元素,遍历set,若能够在vec2中找到该值则加入到输出vec中 vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { std::set<int> ......
数组 问题

Java中List集合元素去重

1. for循环添加去重 这个是最基本的实现了,创建一个空的 List,添加前判断一下存在不存在,不存在才添加,这样就保证了元素不重复。 public static void main(String[] args) { List<Integer> initList = Arrays.asList(1 ......
元素 Java List

STP协议原理

day03 VLAN 减小广播域 Trunk 一般用于 交换机与交换机之间:能够让Trunk链路来承载多vlan。 STP 技术背景: 在网络中,为了防止单点故障的出现,会给链路和设备都做 冗余 冗余带来环路,环路会导致: - 广播风暴- MAC地址表紊乱 【不稳定的MAC地址表/MAC地址表抖动】 ......
原理 STP

java发送Http请求

使用java 11添加的HttpClient新API发送Http(Https)请求 HTTP客户端是在Java 11中添加的。它可以用于通过网络请求HTTP资源。它支持 HTTP / 1.1和HTTP / 2(同步和异步编程模型),将请求和响应主体作为反应流处理,并遵循熟悉的构建器模式。 参考文章: ......
java Http

C语言二维数组

#include <stdio.h> int main(){ /** int a[3][5]; 通常理解a为一个三行五列的矩阵 */ //二维数组的遍历 int a[3][5]; int i,j; for(i=0;i<3;i++){ for(j=0;j<5;j++){ a[i][j]=i*j; } ......
数组 语言

FART 脱壳机原理分析

FART是一个基于Android 源码修改的脱壳机 可以脱整体壳和抽取壳 FART脱壳的步骤主要分为三步: 1.内存中DexFile结构体完整dex的dump 2.主动调用类中的每一个方法,并实现对应CodeItem的dump 3.通过主动调用dump下来的方法的CodeItem进行dex中被抽取的 ......
脱壳机 脱壳 原理 FART

智能指针基本原理,简单实现,常见问题

基本概念 智能指针是一个模板; shared_ptr允许多个指针指向同一个对象,unique指针则独占指向的对象; 基本使用 shared_ptr<T> ptr; //默认初始化保存着一个空指针 shared_ptr<int> ptr = make_shared<int>(42); 拷贝与赋值,会有 ......
指针 常见问题 原理 常见 智能

第十四篇 手写原理代码 - typeScript 【 实现 required、returnTypes、Partial、readOnly 】

在 TypeScript 中实现 required、returnTypes、Partial、readOnly 等功能可以帮助开发者更加方便地处理数据类型,减少在代码中出现的错误,提高代码的可维护性和健壮性 1、实现 required 使可选属性变为必填属性 type MyRequired<T> = ......

LeetCode #453 最小操作次数使数组元素相等

基本思路 每次让数组的n-1个元素加1——等价于——每次让一个元素减1; 把所有数加到相同的最大值 ——等价于——把所有的数捡到最小值; 因此最小操作次数 = 数组所有元素之和 - ( 数组长度 * 最小值); 标程 1 class Solution { 2 public: 3 int minMov ......
数组 LeetCode 元素 次数 453

Java开发笔记(不定时更新)

1. IDEA在引入外部库时编译出现找不着库的问题:在 resources目录中,新建一个lib目录,将外部库拷贝进去,这样打包时就不会出现找不见的情况。 2. 对象列表按属性排序时空指针错误处理问题: List.sort(Comparator.comparing(X::a)在对列表按属性排序时,如 ......
笔记 Java

Java语言在Spark3.2.4集群中使用Spark MLlib库完成朴素贝叶斯分类器

一、贝叶斯定理 贝叶斯定理是关于随机事件A和B的条件概率,生活中,我们可能很容易知道P(A|B),但是我需要求解P(B|A),学习了贝叶斯定理,就可以解决这类问题,计算公式如下: P(A)是A的先验概率 P(B)是B的先验概率 P(A|B)是A的后验概率(已经知道B发生过了) P(B|A)是B的后验 ......
Spark 集群 语言 Spark3 MLlib

LeetCode #448 找到所有数组中消失的数字

基本思路 为了满足题目要求的不使用额外的存储空间(当然返回的数组除外),并且时间复杂度控制在O(n),最多只能常数级别遍历,因此考虑将原数组视作一个"哈希表"。 遍历原数组,将【1,n】上的值域映射到【0,n-】的坐标上,某个数x扫描到一次则将这个数x映射的 x-1的坐标处的值加上n。 然后再次遍历 ......
数组 LeetCode 数字 448

IDEA Java项目中Maven Lifecycle功能

功能点 clean 用于清除之前构建生成的所有文件,具体为清除Target目录中的所有文件,包括该目录删除了install生成的所有文件。 validate 用于验证项目是否正确,并且说必要的信息是否都可用。 compile 编译项目的源代码,主要是Java文件。 test 编译和运行测试代码。 p ......
Lifecycle 功能 项目 Maven IDEA

LeetCode #697 数组的度

基本思路 需要知道数组中某些元素的出现次数来寻求最大出现次数,以及要找到长度最短的子数组长度。 因此可以考虑使用哈希表来记录某个元素出现的次数,第一个元素出现的下表,最后一个元素出现的下标。映射关系:x-->{times,starti,endj}。 标程 1 class Solution { 2 p ......
数组 LeetCode 697