算法leetcode day 513

算法入门经典 刘汝佳 4.2 地址与指针

4.2 地址和指针 4.1节介绍的数学函数的特点是:做计算,然后返回一个值。有时候,我们要做的事情 并不是“计算”——如交换两个变量;而有时候,我们需要返回两个甚至更多的值——如解一个二元一次方程组。 4.2.1 变量交换 程序4-4 用函数交换变量(错误) #include<stdio.h> vo ......
指针 算法 地址 经典 4.2

不平衡少样本数据集的算法方案

在图像实际的细分场景中,经常会遇到数据集不均衡以及数据集数量有限等问题,如何有效利用数据集,提升自己的算法效果,这里大刀基于自己的实际项目经验,分享在实际图像分类领域遇到问题,以及解决的方案,供参考。 前言 大家好,我是张大刀。之前有个智慧工地的项目,其中一个需求是监控工地上的起重机的使用合规性情况 ......
样本 算法 方案 数据

java基于权重的抽奖算法

最近需要写一个抽奖的功能(附带权重),根据这位博主https://blog.51cto.com/u_16213431/7116970,的算法理解了一下,记录下来 import java.util.ArrayList;import java.util.List;import java.util.Ran ......
权重 算法 java

网络流最大流EK算法

```cpp /* 总的思路就是找还有哪些路可以走,只要找到新的路,流量就增加了 需要注意的是,这里面反向边的含义,可以大致理解为,找路的过程是随机的,可能找到的不是最优的, 那么,加一条反向边,后面就有可能找到这个反向边来走,这样就相当于弥补了以前的错误,相当于走了正确的道路 */ #includ ......
算法 网络

基于PLE结合卡尔曼滤波的RSSI定位算法matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.算法理论概述 基于PLE(Power-Law Equalizer)结合卡尔曼滤波的RSSI(Received Signal Strength Indicator)定位算法是一种利用无线信号强度进行位置估计的方法。该方法通过PL ......
算法 matlab RSSI PLE

算法~布隆过滤器

布隆过滤器(Bloom Filter)是一种高效的概率数据结构,用于判断一个元素是否存在于集合中。它基于位数组和多个哈希函数,并具有以下特点: Bloom Filter 是一个基于概率的数据结构:它只能告诉我们一个元素绝对不在集合内或可能在集合内 快速查询:布隆过滤器具有快速查询的特性。它使用多个哈 ......
过滤器 算法

[LeetCode Hot 100] LeetCode234. 回文链表

题目描述 思路1:将值复制到数组中然后使用双指针 计算链表的长度 创建等长的数组 将链表中的数依次放入数组中 使用左右指针判断链表是否是回文链表 时间复杂度:O(n) 空间复杂度:O(n) 思路2:快慢指针+反转链表 用快慢指针,快指针走两步,慢指针走一步,快指针遇到终止位置时,慢指针就在链表中间位 ......
LeetCode 回文 Hot 100 234

[LeetCode Hot 100] LeetCode206. 反转链表

题目描述 思路:双指针算法 方法一: /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) ......
LeetCode Hot 100 206

[LeetCode Hot 100] LeetCode49. 字母异位词

题目描述 思路:哈希表 对字符串排序,如果是异位词,排序后就变成一样的了。 方法一: class Solution { public List<List<String>> groupAnagrams(String[] strs) { Map<String, List<String>> map = n ......
LeetCode 字母 Hot 100 49

[LeetCode Hot 100] LeetCode141. 环形链表

题目描述 思路:快慢指针 slow指针:每次移动一个节点 fast指针:每次移动两个节点 如果链表中存在环,fast指针最终会在某一时刻追上slow指针,这是由于移动速度快的fast指针会在某个时刻绕圈并追上速度慢的slow指针 条件 fast != null && fast.next != nul ......
LeetCode 环形 Hot 100 141

JavaWeb - Day02 - JS、Vue

01. JS-介绍 什么是JavaScript? JavaScript(简称:JS) 是一门跨平台、面向对象的脚本语言。是用来控制网页行为的,它能使网页可交互。 JavaScript 和 Java 是完全不同的语言,不论是概念还是设计。但是基础语法类似。 JavaScript 在 1995 年由 B ......
JavaWeb Day Vue 02

AES java加密与MySql加密算法一致

1.背景 数据库加密与java程序加密算法保持一致,统一采用AES加密算法。 2. java 代码如下 1 package com.pacific.permission.test; 2 3 import javax.crypto.Cipher; 4 import javax.crypto.spec. ......
算法 MySql java AES

[LeetCode] 2264. Largest 3-Same-Digit Number in String

You are given a string num representing a large integer. An integer is good if it meets the following conditions: It is a substring of num with length ......
Same-Digit LeetCode Largest Number String

CTT Day3

T1 忘了叫什么名字 对于一个排列 \(p\),定义它的权值为其有多少个子串是一个值域从 \(1\) 开始的排列。给定排列 \(p\),对于 \(1\le i\le j\le n\),定义 \(f(i,j)\) 为交换 \(p_i,p_j\) 之后排列的权值。有 \(Q\) 次询问,每次询问所有 \ ......
Day3 CTT Day

Day19 Java 流程控制01:用户交互Scanner

Java 流程控制01:用户交互Scanner Scanner对象 之前我们学的基本语法中我们并没有实现程序和人的交互, 但是Java给我们提供了这样一个工具类:Scanner类,可以通过它来获取用户的输入 基本语法: Scanner scanner = new Scanner(System.in) ......
流程 Scanner 用户 Java Day

LeetCode-Java:55.跳跃游戏

题目 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 ......
LeetCode-Java LeetCode Java 55

day11 Jenkins Pipeline语法-Jenkins基于Gitlab的授权认证 (4.3.1-4.4)

一、Jenkins Pipeline语法上 Jenkins Pipeline 语法 Jenkins 有多种方式实现交付流水线。其中,Jenkins Pipeline 是一种比较流行的方式,它提供一个DSL(Domain Specific Language的缩写,)来描述交付流水线。 官网地址:htt ......
Jenkins 语法 Pipeline Gitlab day

面试leetcode算法经典 150 题

数组、字符串 1.合并两个有序数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由 ......
算法 leetcode 经典 150

Day16 内部类

1. 内部类的含义 内部类就是在一个类的内部再定义一个类。比如A类中定义了一个类B,那么 B就是A 的内部类,A是B的外部类 class A{//外部类 class B{//内部类 } } 内部类可以分为: 成员内部类 静态内部类 局部内部类 匿名内部类 默认: 如果声明内部类时不使用任何修饰符,那 ......
Day 16

Day17 异常与日志

1. 异常的概述 在编程中,我们经常遇到各种不可预见的问题,例如:文件找不到、网络连接失败、数组越界等。这些问题我们通常称之为“异常”(Exception)。 java 把异常当作对象来处理,并定义了一个基类 java.lang.Throwable作为所有异常的超类。 java.lang.Throw ......
日志 Day 17

Day11 类对象

1. 静态方法与非静态方法的区别 静态方法在定义类的时候就随着类装载到了内存中,不会自动销毁,直到关闭 jvm 非静态方法只有实例化对象的时候才会分配内存,与实例化对象共存。 public class Demo01 { //静态方法 修饰符 static public static void use ......
对象 Day 11

Day13 继承知识点综合

1.继承 java 只有单继承 关键字:extends class A{}//父类 class B extends class A{}//子类B继承了A类 2.继承权限 相较于C++ 的public,protected, private,java对不写继承的default的定义不一样: c++ de ......
知识点 知识 Day 13

Day14 多态知识点综合

1.方法重写的定义 重载(overload)是在同一个类中的具有多个相同方法名,参数列表不同(的方法(返回类型可以不同),构造方法、普通方法、抽象方法都可以重载;重写(override)是在子类继承父类的时候重写,可以用@Override检查是否是重写方法,方法重载是一个类的多态性的表现,而方法重写 ......
知识点 知识 Day 14

Day15 抽象类与接口

1.抽象类格式 关键字: abstract 1.1抽象类: abstract class 类名{} public abstract class ClassName{ int a; public abstract void fun(); } 除非该继承的子类也是抽象类,否则继承了抽象类的所有类都要重写 ......
接口 Day 15

Day12 jvm 内存模型JMM

1. jvm 内存模型 JMM 原帖链接 JMM控制 Java 线程之间的通信,决定一个线程对共享变量的写入何时对另一个线程可见。 每条线程在自己的工作内存中对共享变量(副本)进行操作,JMM再负责把这些操作同步到主内存中 JVM1.8 用Meta space(元空间)(在JVM外的本地内存中)取代 ......
模型 内存 Day jvm JMM

机试题目-day4(每日一写)

快排思想 int position(int * num,int left,int right) { int temp=num[left];//选出中值 while(left<right){ while(left<right&&num[right]>=temp)//从右开始,如果不符合指针一直向左 r ......
题目 day4 day

Day10 数组

1. 数组声明 //方法一:首选 dataType[] arrayName; //方法二:非首选,像c++ dataType arrayName[]; 2. 数组创建 2.1 动态初始化 //不初始化,大小自行决定 dataType[] array = new dataType[arraySize] ......
数组 Day 10

Day07 包机制和JavaDoc文件生成

1. 包机制 1.1 语法格式 package pkg1[.pkg2[.pkg3...]]; 注意: ​ 此句必须放在文件最开始位置 1.2 提倡的命名格式 一般利用公司的域名倒置作为包名 如 www.baidu.com 其包名就推荐命名为 com.baidu.www 1.3 引用包 import ......
机制 JavaDoc 文件 Day 07

Day08 逻辑结构(switch和增强for)

1. 知识点 if ,switch, for, while等等和 C++、js等相似,需要注意以下几点: 1.1 有关switch switch 中的 case value: value 类型可以是 byte , short, int, char。 value 类型:string 类型是JDK7才开 ......
逻辑 结构 switch Day for

Day09 方法知识点综合(求值策略与可变参数)

1. 求值策略 编程语言中方法之间进行参数传递时有个传递策略,该策略就被称为求值策略(Evaluation strategies)。求值策略分为两大基本类型,如果按照如何处理传递给方法的实际参数,分为严格的和非严格的两种求值策略。 1.1 严格求值策略 传值调用(Call by value) 将实参 ......
知识点 策略 参数 方法 知识