righti pairs lefti数组

用 Go 剑指 Offer 53 - I. 在排序数组中查找数字 I (二分法)

统计一个数字在排序数组中出现的次数。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2: 输入: nums = [5,7,7,8,8,10], target = 6输出: 0 提示: 0 <= nums.length <= 105-109 <= ......
二分法 数组 数字 Offer Go

spfa求最短路——BFS,数组实现邻接表,数组实现队列

题目描述 题目来源 AcWing 给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环, 边权可能为负数。 请你求出 1 号点到 n 号点的最短距离,如果无法从 1 号点走到 n 号点,则输出impossible。 数据保证不存在负权回路。 输入格式 第一行包含整数 n 和 m。 接下来 m ......
数组 队列 spfa BFS

用 Go 剑指 Offer 39. 数组中出现次数超过一半的数字 (摩尔投票)

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 // 若不存在多数元素,本题就需要计数并判断 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2 限制: 1 <= 数组长度 <= 50000 ......
数组 次数 数字 Offer Go

3、动态数组

在这里,我们新创建一个数组类,对 Java 语言中的原始数组进行封装,使得它可以动态的扩容和缩容 Java 语言中也有类似的实现,叫 ArrayList,我们创建的数据类是它的简化版本,下面是代码实现 public class Array<E> { private E[] data; private ......
数组 动态

用 Go 剑指 Offer 42. 连续子数组的最大和

输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示: 1 <= arr.leng ......
数组 Offer Go 42

力扣 53. 最大子数组和

53. 最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最 ......
数组 53

寻找路径 or 数组二叉树 华为OD机试

本期题目:寻找路径 or 数组二叉树 题目 二叉树也可以用数组来存储,给定一个数组,树的根节点的值储存在下标1, 对于储存在下标n的节点,他的左子节点和右子节点分别储存在下标 2*n 和 2*n+1, 并且我们用-1代表一个节点为空。 给定一个数组存储的二叉树,试求从根节点到最小的叶子节点的路径,路 ......
数组 路径 or

PYTHON 字节数组

字节数组 字节数组是可变类型,采用bytearray内置函数构造。在REPL中,输入help(bytearray)可以获得相关信息。字节数组的来源可以是: 可迭代的整数序列,整数范围为0~255; 字符串; 字节或者另外的字节数组对象; 任意实现了缓冲区API的对象。 >>> × = bytearr ......
数组 字节 PYTHON

数组排序

1 #include <stdio.h> 2 void sort1(int s[]) 3 { 4 int i,j,t; 5 for(i=0;i<9;i++) 6 { 7 for(j=0;j<10;j++) 8 { 9 if(s[j]>s[j+1]) 10 { 11 t=s[j];s[j]=s[j+1 ......
数组

线性表之静态链表实现(数组cur实现)

main.cpp #include "StaticList.h" int main() { StaticList SL; InitSList(SL); for (int i = 0; i < 5; ++i) { Insert(SL,'A'+i); } ShowSList(SL); DeleteSLi ......
数组 线性 静态 cur

OpenJudge 1.8编程基础之多维数组

04:错误探测 1.描述 给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件。"改变矩阵元素"的操作定义为0变成1或者1变成0。 2.输入 输入n + 1行,第1行为矩阵的大小n(0 ......
数组 OpenJudge 基础 1.8

gis经纬度坐标转换多格式兼容:支持字符串/数组/GeoJSON

格式 let coordinatesStrReg = /((-*[1][0-9]{0,2}|0)(\.[0-9]{1,6})*),\s{0,2}((-*[1-9][0-9]{0,1}|0)(\.[0-9]{1,6})*)/g str.replace(coordinatesStrReg, (str,  ......
经纬度 数组 字符串 经纬 坐标

C-指针数组与数组指针

指针数组 用于存放指针的数组 int a = 1, b = 2, c = 3; int* arr[3] = {&a, &b, &c}; // arr[0] == &a // *arr[0] == a int** p = arr; // *p == arr[0] == &a // p[0] == ar ......
数组 指针

NOI / 1.8编程基础之多维数组 04:错误探测

描述 给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。 你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件。 "改变矩阵元素"的操作定义为0变成1或者1变成0。 输入 输入n + 1行,第1行为矩阵的大小n(0 < n < 100 ......
数组 错误 基础 NOI 1.8

字符数组指针巩固学习

1、字符数组的数组名存的就是字符数组的起始地址,类型是字符指针 2、str系列字符串函数主要包括strlen,strcpy,strcmp,strcat strlen:用于统计字符串长度 strcpy:用于将某个字符串复制到字符数组中 strcmp:用于比较两个字符串的大小,比较对应字符的ASCII码 ......
数组 指针 字符

23:二维数组回形遍历

描述 给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按回形从外向内顺时针顺序遍历整个数组。如图所示: 输入 输入的第一行上有两个整数,依次为row和col。 余下有row行,每行包含col个整数,构成一个二维整数数组。(注:输入的row和col保证0 < row ......
数组 23

C++数组

数组 C++中的数组是一种特殊类型的变量,它可以存储一组具有相同数据类型的元素,这些元素在内存中是按照一定的顺序排列的。下面是C++数组的一些特点: 数组的元素类型必须相同。例如,一个int类型的数组中只能存储int类型的元素。 数组的大小是固定的。一旦数组被创建,它的大小就不能再改变了。 数组的元 ......
数组

[省选联考 2023] 染色数组 题解

题目描述 给定一个长度为 $n$ 的正整数数组 $A$,其中每个数都在 $1$ 到 $m$ 之间,从左到右排成一排。现在要将每个数字染成红色或者绿色,我们定义一个染色方案为优秀的染色方案,当且仅当它满足: 每个数 $A_{i}$ 要么被染成红色,要么被染成绿色。 红色的数从左到右依次严格递增,绿色的 ......
题解 数组 2023

[省选联考 2023] 染色数组 题解

题目描述 给定一个长度为 $n$ 的正整数数组 $A$,其中每个数都在 $1$ 到 $m$ 之间,从左到右排成一排。现在要将每个数字染成红色或者绿色,我们定义一个染色方案为优秀的染色方案,当且仅当它满足: 每个数 $A_{i}$ 要么被染成红色,要么被染成绿色。 红色的数从左到右依次严格递增,绿色的 ......
题解 数组 2023

数组的算法

数值型数组特征值统计 这里特征值涉及到:平均值,最大值,最小值,总和等 求最大值:将数组第一个元素假设为最大值 int max= arr[0];再然后用写一个判断语句如果数组第一个 元素小于当前比较的元素就把当前比较的元素赋值给max if(max<arr[i]){max = arr[i]} 求最小 ......
数组 算法

C语言初识数组

以以下代码为例:重点在于 定义数组容量 对数组的每个元素循环赋值 遍历数组 1 #include <stdio.h> 2 int main(){ 3 4 int num=0; 5 double sum=0; 6 int cnt=0; 7 scanf("%d",&num); 8 int number[ ......
数组 语言

多维数组的使用(一)

多维数组概述 Java 语言里提供了支持多维数组的语法。 如果说可以把一维数组当成几何中的线性图形,那么二维数组就相当于是一个表格,像Excel中的表格、围棋棋盘一样。 应用举例1: 某公司2022年全年各个月份的销售额进行登记。按月份存储,可以使用一维数组。如下: int[] monthData ......
数组

2610. 转换二维数组

题目链接:2610. 转换二维数组 方法:哈希表 解题思路 统计$nums$中每个元素的数量,然后每行输出其中的$1$个,直到元素全部输出。 代码 class Solution { public: vector<vector<int>> findMatrix(vector<int>& nums) { ......
数组 2610

2607. 使子数组元素和相等

题目链接:2607. 使子数组元素和相等 方法:分组 + gcd + 中位数 解题思路 题意:将$arr$中某个元素$+1$或$-1$,使得任意长度为$k$的子数组的元素总和相等,且总操作数最少; 1、首先考虑数组$arr$为非循环数组: 任意$k$长的子数组总和相等,则有下述情形,依次可以将$ar ......
数组 元素 2607

2605. 从两个数字数组里生成最小数字

题目链接:2605. 从两个数字数组里生成最小数字 方法:哈希 解题思路 本题有两种情况: 两个数组有共同元素,则取其中最小值返回; 两个数组没有共同元素,则取两个数组中各自的最小元素组成最小的两位数返回。 代码 class Solution { public: int minNumber(vect ......
数字 数组 两个 2605

剑指 Offer 56 - I. 数组中数字出现的次数

题目链接:剑指 Offer 56 - I. 数组中数字出现的次数 方法:位运算 + 分类 解题思路 异或运算:当两个相同的数异或时,结果为$0$; 对于本题,假设答案为$res1$ 和 $res2$,那么对数组中所有的数求异或时,其结果实际等于 $res1$ ^ $res2$;并且此结果中二进制位为 ......
数组 次数 数字 Offer 56

剑指 Offer 56 - II. 数组中数字出现的次数 II

题目链接:剑指 Offer 56 - II. 数组中数字出现的次数 II 方法一:位运算 解题思路 由题意知,其他数值都出现了三次,那么其数值二进制位上的$1$也至少出现了三次,那么我们可以统计数值每一位上$1$的个数的总和,然后遍历每一位上$1$的数量,若某一位上的$1$的数量不能被$3$整除,说 ......
数组 次数 数字 Offer II

6357. 使数组元素全部相等的最少操作次数

题目链接:6357. 使数组元素全部相等的最少操作次数 方法:排序 + 前缀和 + 二分查找 解题思路 初始化$target = queries[i]$,根据题意,对于每次询问要将数组$nums$中的元素$=>target$,那么对于小于等于$target$的元素要加上一个数,而大于$target$ ......
数组 元素 次数 6357

1574. 删除最短的子数组使剩余数组有序

题目链接:1574. 删除最短的子数组使剩余数组有序 方法:双指针 + 找规律 解题思路 去除子数组的可能情况: 将第一个递减序列的左端点到末尾的子数组去掉; 将最后一个递减序列的右端点到起点的子数组去掉; 左端点:起点 和 第一个递减序列的左端点之间取, 右端点:最后一个递减序列的右端点和末尾之间 ......
数组 1574

剑指 Offer 42. 连续子数组的最大和

题目链接:剑指 Offer 42. 连续子数组的最大和 方法:动态规划 解题思路 参考动态规划详细解析——剑指 Offer 42. 连续子数组的最大和 注意: 很多同学首先会想到同向双指针,实际上本题由于$nums$数组的某一个元素的下一个元素可正可负,导致同向双指针要求的单调性无法满足; 使用$d ......
数组 Offer 42