数组leetcode-java leetcode两个
两个电脑如何共用同一套鼠标键盘?键鼠共享 | Mouse Without Borders(无界鼠标)安装步骤总结
最简单的办法当然是买个三模键盘鼠标。但是我没有钱,所以就自己安装软件解决 1 安装 Mouse Without Borders 下载地址 https://mouse-without-borders.en.softonic.com/download 如果之前已经安装,先卸载,然后两台电脑安装同一版本的 ......
【LBLD】小而美的算法技巧:差分数组
【LBLD】差小而美的算法技巧:差分数组 差分数组 差分数组的第 i 个元素存储原数组第 i 个元素和第 i-1 个元素的差值,其中,差分数组的首元素的值 diff[0] 为原数组首元素的值 nums[0]。 1109.航班预订统计 class Solution { public: vector<i ......
leetcode 20. 有效的括号 Java
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。 示例 1: 输入:s = "()" 输出:true 示例 2: 输入 ......
Leetcode(剑指offer专项训练)——DP专项(6)
排序的数目 题目 给定一个由 不同 正整数组成的数组 nums ,和一个目标整数 target 。请从 nums 中找出并返回总和为 target 的元素组合的个数。数组中的数字可以在一次排列中出现任意次,但是顺序不同的序列被视作不同的组合。 题目数据保证答案符合 32 位整数范围。 链接 无效DF ......
Leetcode(剑指offer专项训练)——DP专项(5)
最少的硬币数目 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的。 链接 完全背包问题 思路:主要是要自己推出动态转移方程 $$ F(i)=min_{ ......
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 ......
力扣---6363. 转换二维数组
给你一个整数数组 nums 。请你创建一个满足以下条件的二维数组: 二维数组应该 只 包含数组 nums 中的元素。二维数组中的每一行都包含 不同 的整数。二维数组的行数应尽可能 少 。返回结果数组。如果存在多种答案,则返回其中任何一种。 请注意,二维数组的每一行上可以存在不同数量的元素。 示例 1 ......
713. 乘积小于 K 的子数组
力扣题目链接 给你一个整数数组 nums 和一个整数 k ,请你返回子数组内所有元素的乘积严格小于 k 的连续子数组的数目。 示例 1: 输入:nums = [10,5,2,6], k = 100 输出:8 解释:8 个乘积小于 100 的子数组分别为:[10]、[5]、[2],、[6]、[10,5 ......
面试题45(Java)-把数组排成最小的数(中等)
题目: 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2] 输出: "102" 示例 2: 输入: [3,30,34,5,9] 输出: "3033459" 提示: 0 < nums.length <= 100 说明: 输出 ......
【DP】LeetCode 64. 最小路径和
题目链接 64. 最小路径和 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 表示状态 假设到了右下角,考虑一下我们要存储的信息 走到最后坐标的最小步数 当前坐标的信息,用来判断是否走到了右下角 很容易联想到使用二维数组 dp[i][j ......
树状数组
树状数组 简单记录一下模板和用法,不做深入证明探究! 能解决的问题: 区间查询前缀和 单点修改(某个值+一个数) 是一个在 logN复杂度就能完成以上操作的数据结构。严格来说,能解决的问题是线段树的子集。 树状数组能够解决的问题,线段树一定可以解决!但是树状数组代码简单好写,相比臃肿庞大的线段树,能 ......
请编写一个程序,使用两个线程分别输出数字和字母,要求输出的结果为:1A2B3C4D5E6F7G8H9I10J。
请编写一个程序,使用两个线程分别输出数字和字母,要求输出的结果为:1A2B3C4D5E6F7G8H9I10J。 提示:可以使用Java中的wait()和notify()方法来实现线程间的通信。 public class NumberLetterPrinter { // 定义一个静态的锁对象 priv ......
【DP】LeetCode 70. 爬楼梯
题目链接 70. 爬楼梯 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 表示状态 假设走到了最后一层台阶,考虑一下我们要存储的信息: 走到这最后一层台阶的方法数 当前台阶数,用于判断是否走到了最后一层台阶 这时候很容易想到使用一维数组 ......
Go 语言数组和切片的区别
原文链接: Go 语言数组和切片的区别 在 Go 语言中,数组和切片看起来很像,但其实它们又有很多的不同之处,这篇文章就来说说它们到底有哪些不同。 另外,这个问题在面试中也经常会被问到,属于入门级题目,看过文章之后,相信你会有一个很好的答案。 数组 数组是同一种数据类型元素的集合,数组在定义时需要指 ......
453.最小操作次数使数组元素相等
最小操作次数使数组元素相等 给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 示例 1: 输入:nums = [1,2,3] 输出:3 解释: 只需要3次操作(注意每次操作会增加两个元素的值): [1,2,3] => [2,3,3] ......
1438. 绝对差不超过限制的最长连续子数组
力扣题目链接 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。 如果不存在满足条件的子数组,则返回 0 。 示例 1: 输入:nums = [8,2,4,7], limit = 4 输出 ......
[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 ......
对于两个html页面之间无法实现跳转,但是单独出现却可以的问题的解决
问题描述 不知道为什么,我的两个html页面之间无法实现跳转,但是单独打出来就是可以,上网查了查相关的解决方法 问题解决 在a标签里面,加上一个target属性,命名为-blank,然后就可以实现正常跳转啦! ......
Leetcode(剑指offer专项训练)——DP专项(4)
加减的目标值 给定一个正整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums = [2, 1] ,可以在 2 之前添加 '+' ,在 1 之前添加 '-' ,然后串联起来得到表达式 "+2-1" ......
代码随想录Day17-Leetcode110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和
110.平衡二叉树 题目链接:https://leetcode.cn/problems/balanced-binary-tree/ 一个显然但似乎不太高效的方法是: 通过递归获取左右子树高度,判断差; 然后递归判断左右结点; 那么一个显然的改进就是后序遍历 /** * Definition for ......
java方法-稀疏数组
稀疏数组 当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组 稀疏数组的处理方式是: 记录数组一共有几行几列,有多少个不同值 把具体不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模 如图:左原始数组,右稀疏数组 ......
树状数组
树状数组 简介 树状数组是一种用于维护 $n$ 个数的区间和的数据结构。 一般能用树状数组做的题,都可以使用线段树来做。相较于码量,树状数组的码量要比线段树少许多,不过相对应的,它所能实现的功能没有线段树多。 好的,不多说废话,下面进入正题。 例题 1:P3374【模板】树状数组 1 例题 2:P3 ......
剑指offer42(Java)-连续子数组的最大和(简单)
题目: 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示: 1 <= ar ......
VBA 对象数组排序算法分享
Function SrotObjectByProperty(objsToSort As Variant, PropertyName As String, Optional 降序 As Boolean = True) If IsEmpty(objsToSort) Then Exit Function ......
HJ69_矩阵乘法_数组
思路: 三层循环实现矩阵相乘。 import sys a=[] for line in sys.stdin: a.append(list(map(int,line.strip().split()))) #print(a) matrix1=a[3:3+a[0][0]] matrix2=a[3+a[0] ......
Java 数组
数组 数组是相同类型数据的有序集合 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成 每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们 数组的声明和创建 首先必须声明数组变量,才能在程序中使用数组。 Java语言使用new操作符来创建数组,语法如下: dataTyp ......
Java 稀疏数组
稀疏数组 当一个数组中大部分元素为0时,或者为同一值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方式是: 记录数组一共有几行几列,有多少个不同值 把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模 下面对该原始数组进行压缩,求出其稀疏数组: public stati ......
LeetCode 85. Maximal Rectangle
class Solution { public: int method(vector<int> h)//求柱状图中最大的矩形 { int n=h.size(); vector<int> l=vector<int> (n),r=l; stack<int> st; //预处理l,r数组 for(int ......
【LBLD】小而美的算法技巧:前缀和数组
【LBLD】小而美的算法技巧:前缀和数组 一维数组中的前缀和 class NumArray { private: vector<int> preSum; public: NumArray(vector<int>& nums) { preSum.push_back(0); for (int i = 1 ......
21. 合并两个有序链表
21. 合并两个有序链表 做法1: 构建虚拟头节点,而后双指针做法。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), ne ......