整数 数组 算法codility

算法基础课——连通块中点的数量

连通块中点的数量 问题描述 给定一个包含 n 个点(编号为 1∼n)的无向图,初始时图中没有边。 现在要进行 m 个操作,操作共有三种: C a b,在点 a 和点 b 之间连一条边,a 和 b 可能相等; Q1 a b,询问点 a 和点 b 是否在同一个连通块中,a 和 b 可能相等; Q2 a, ......
中点 基础课 算法 数量 基础

数组练习1

1、将密码文件的每一行作为元数赋值给数组 2、使用关联数组统计密码文件中用户使用的不同类型shell的数量 3、使用关联数组按扩展名统计指定目录中文件的数量 ......
数组

java数组的创建和使用

声明 数组必须先声明后使用,数组的声明有两种方法: 1. C语言风格声明: dataType arrayRefVar[]; 2. Java风格声明: dataType[] arrayRefVar; 一般推荐使用第二种Java风格的声明方式。 创建数组 声明的数组并不具备物理空间,需要使用new操作符 ......
数组 java

Shell数组练习

1、将/etc/shadow文件的每一行作为元素赋值给数组 #!/bin/bash # 统计行数,作为循环次数 num=`wc -l < /etc/shadow` for ((i=0;i<=num;i++)) do # 根据i的变化取前i行内容再然后截取最后一行加入数组中 array[$i]=$(h ......
数组 Shell

【LBLD】小而美的算法技巧:差分数组

【LBLD】差小而美的算法技巧:差分数组 差分数组 差分数组的第 i 个元素存储原数组第 i 个元素和第 i-1 个元素的差值,其中,差分数组的首元素的值 diff[0] 为原数组首元素的值 nums[0]。 1109.航班预订统计 class Solution { public: vector<i ......
数组 算法 技巧 LBLD

常见排序算法以及Java实现

快速排序 class Solution { //创建随机对象,便于后于选基准值 static Random random = new Random(); public int[] sortArray(int[] nums) { int n = nums.length; int left = 0; i ......
算法 常见 Java

215. 数组中的第K个最大元素

参考:https://leetcode.cn/problems/kth-largest-element-in-an-array/solutions/19607/partitionfen-er-zhi-zhi-you-xian-dui-lie-java-dai-/ https://www.bilibi ......
数组 元素 215

力扣---6363. 转换二维数组

给你一个整数数组 nums 。请你创建一个满足以下条件的二维数组: 二维数组应该 只 包含数组 nums 中的元素。二维数组中的每一行都包含 不同 的整数。二维数组的行数应尽可能 少 。返回结果数组。如果存在多种答案,则返回其中任何一种。 请注意,二维数组的每一行上可以存在不同数量的元素。 示例 1 ......
数组 6363

713. 乘积小于 K 的子数组

力扣题目链接 给你一个整数数组 nums 和一个整数 k ,请你返回子数组内所有元素的乘积严格小于 k 的连续子数组的数目。 示例 1: 输入:nums = [10,5,2,6], k = 100 输出:8 解释:8 个乘积小于 100 的子数组分别为:[10]、[5]、[2],、[6]、[10,5 ......
乘积 数组 713

使用 MybatisPlusCore 自带的雪花算法生成不重复数字

这里不介绍雪花算法的实现原理,可以自行搜索查阅网上的资料。这里主要介绍雪花算法的使用场景,如何调用第三方类库 Mybatis Plus Core 自带的方法来使用雪花算法。 雪花算法的主要使用场景,就是生成不重复的数字,作为数据库表的主键使用。你可能会使用 uuid 作为主键,但是其占用 16 个字 ......
MybatisPlusCore 算法 雪花 数字

面试题45(Java)-把数组排成最小的数(中等)

题目: 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2] 输出: "102" 示例 2: 输入: [3,30,34,5,9] 输出: "3033459" 提示: 0 < nums.length <= 100 说明: 输出 ......
数组 Java 45

树状数组

树状数组 简单记录一下模板和用法,不做深入证明探究! 能解决的问题: 区间查询前缀和 单点修改(某个值+一个数) 是一个在 logN复杂度就能完成以上操作的数据结构。严格来说,能解决的问题是线段树的子集。 树状数组能够解决的问题,线段树一定可以解决!但是树状数组代码简单好写,相比臃肿庞大的线段树,能 ......
数组

Go 语言数组和切片的区别

原文链接: Go 语言数组和切片的区别 在 Go 语言中,数组和切片看起来很像,但其实它们又有很多的不同之处,这篇文章就来说说它们到底有哪些不同。 另外,这个问题在面试中也经常会被问到,属于入门级题目,看过文章之后,相信你会有一个很好的答案。 数组 数组是同一种数据类型元素的集合,数组在定义时需要指 ......
数组 语言 Go

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

最小操作次数使数组元素相等 给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 示例 1: 输入:nums = [1,2,3] 输出:3 解释: 只需要3次操作(注意每次操作会增加两个元素的值): [1,2,3] => [2,3,3] ......
数组 元素 次数 453

【算法学习】图论模板

注意! 并查集只适用于无向图。 DFS 特点:当前层可以获得下层状态、向下层不断遍历 处理方式:递归 模板: // dfs注意剪枝 void dfs(int u){ if(u > n) { 输出路径 return; } for(int i = 0; i < n;i ++) // 遍历点 { if(条 ......
算法 模板

算法中的初始化0x3f

写算法的时候,我们常常需要用到设置一个常量用来代表“无穷大”,比如对于int类型的数,有的人会采用INT_MAX,即0x7fffffff作为无穷大。 但是以INT_MAX为无穷大常常面临一个问题,即加一个其他的数会溢出。而这种情况在动态规划,或者其他一些递推的算法中常常出现,很有可能导致算法出问题。 ......
算法 0x3f 0x x3 3f

1438. 绝对差不超过限制的最长连续子数组

力扣题目链接 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。 如果不存在满足条件的子数组,则返回 0 。 示例 1: 输入:nums = [8,2,4,7], limit = 4 输出 ......
数组 1438

[LeetCode] 1338. Reduce Array Size to The Half 数组大小减半

You are given an integer array arr. You can choose a set of integers and remove all the occurrences of these integers in the array. Return the minimum ......
数组 LeetCode 大小 Reduce Array

算法随想Day53【单调栈】| LC84-柱状图中最大的矩形

int largestRectangleArea(vector& heights) { int result = 0; stack st; heights.insert(heights.begin(), 0); heights.push_back(0); st.push(0); for (int i ......
矩形 随想 算法 Day 53

算法随想Day52【单调栈】| LC503-下一个更大元素Ⅱ、LC42-接雨水

LC503. 下一个更大元素Ⅱ 对于“每日温度”,相当于对nums数组,进行了两次遍历。用i % size所得余数作为下标,且循环的圈数为size * 2 vector<int> nextGreaterElements(vector<int>& nums) { int size = nums.siz ......
随想 算法 雨水 元素 LC

算法随想Day51【单调栈】| LC739-每日温度、LC496-下一个更大元素Ⅰ

LC739. 每日温度 vector<int> dailyTemperatures(vector<int>& temperatures) { int size = temperatures.size(); vector<int> result(size, 0); vector<int> sta; s ......
随想 算法 元素 温度 LC

Quine-McCluskey算法简介及其C++代码实现

Algorithm List all minterms (and don't care terms) Step by step merging one layer at a time (note that only two minimum terms with a distance of 1 can ......

机器——算法

上位机(计算机视觉)(AGX) 下位机(单片机)控制具体硬件(STM32) GPIO STM32 基于ARM的32位微控制器 F通用类型 407产品子系列 Z引脚数目:T36 C48 R64 V100 Z144 G闪存存储器容量 实验内容 控制LED灯闪烁 需要具备的能力 单片机编程能力 C/C++ ......
算法 机器

golang蒙特卡洛树算法实现五子棋AI

已经实现蒙特卡洛树算法的通用逻辑,只需要对应结构体实现相关接口就可以直接使用该算法。 优化算法主要优化GetActions生成下一步动作,要尽可能少,去掉无意义的动作。 以及优化ActionPolicy从众多动作挑选比较优秀的动作。对应五子棋就是执行该动作后当前局面评分最高。 package mai ......
五子棋 算法 golang

进程调度算法

1、先来先服务FCFS 非抢占式,按照请求顺序来进行调度。 有利于长作业,不利于短作业,短作业等待时间长。 2、最短作业优先 非抢占式,按照运行时间最短顺序调度。 长作业可能饿死,等待短作业一直得不到运行。 3、最短剩余时间优先 短作业的抢占式版本,按剩余时间调度。 4、时间片轮转 按FCFS原则排 ......
算法 进程

【入门】Go语言排序算法详解

1、冒泡排序 冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的两个元素,并在必要时交换它们的位置,直到没有任何一对元素需要交换为止。该算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 package main import "fmt" // 我们定义了一个名为`bu ......
算法 语言

【算法专题】容斥原理

【算法专题】容斥原理 题 E. Devu and Flowers https://codeforces.com/contest/451/problem/E 前置知识:隔板法 然后正难则反,把至多取 $a_i$ 个转化为 至少取 $a_i+1$ 的反问题,就能套用隔板法的公式了。 答案即为: #inc ......
算法 原理 专题

java方法-稀疏数组

稀疏数组 当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组 稀疏数组的处理方式是: 记录数组一共有几行几列,有多少个不同值 把具体不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模 如图:左原始数组,右稀疏数组 ......
数组 方法 java

递归算法

递归算法 递归算法是一种通过调用自身来解决问题的算法。递归算法通常涉及到将一个问题划分为较小的子问题来解决,并在子问题中调用自身来完成。 递归算法的基本思想是,将一个大问题转化为一个或多个相同结构的小问题,直到问题变得足够小以便直接解决。然后将这些小问题的解组合成原始问题的解。在递归算法中,一个函数 ......
算法

树状数组

树状数组 简介 树状数组是一种用于维护 $n$ 个数的区间和的数据结构。 一般能用树状数组做的题,都可以使用线段树来做。相较于码量,树状数组的码量要比线段树少许多,不过相对应的,它所能实现的功能没有线段树多。 好的,不多说废话,下面进入正题。 例题 1:P3374【模板】树状数组 1 例题 2:P3 ......
数组