乘积 数组leetcode 152
[LeetCode] 1033. Moving Stones Until Consecutive
There are three stones in different positions on the X-axis. You are given three integers a, b, and c, the positions of the stones. In one move, you p ......
628. 三个数的最大乘积
分析: 简单题,直接写 但是做题有个问题,思考不够全面,往往开始只过了案例 没有想到其他情况 代码: 1 class Solution(object): 2 def maximumProduct(self, nums): 3 """ 4 :type nums: List[int] 5 :rtype: ......
2023-04-29:一个序列的 宽度 定义为该序列中最大元素和最小元素的差值。 给你一个整数数组 nums ,返回 nums 的所有非空 子序列 的 宽度之和 由于答案可能非常大,请返回对 109
2023-04-29:一个序列的 宽度 定义为该序列中最大元素和最小元素的差值。 给你一个整数数组 nums ,返回 nums 的所有非空 子序列 的 宽度之和 由于答案可能非常大,请返回对 109 + 7 取余 后的结果。 子序列 定义为从一个数组里删除一些(或者不删除)元素, 但不改变剩下元素的 ......
树状数组 好题整理
树状数组 好题整理 [SDOI2009] HH的项链 离线询问后,按右端点升序排序,考虑建立一个树状数组,只包含 0/1,把含每种颜色的点中最靠右的位置打上 1 的标记,询问 $[l, r]$ 答案即为 $query_r - query_{l - 1}$,可以证明,如果一个相同颜色的点的位置对答案有 ......
leetcode_D10_136只出现一次的数字
1.题目 2.解一 leetcode官方解法,主要用到了两个知识:第一个是reduce函数,需要注意的是在python3中,需要 通过“ from functools import reduce ”从模块中调用该函数;第二个知识是位运算中的异或运算,主要有以下计算法则。 有了这两个补充知识,该题目就 ......
数组模拟实现数据结构
数组模拟链表实现 ① 单链表: 邻接表 (存储图和树) ② 双链表: 优化某些问题 单链表 int e[N] 存储 val , int ne[N] 存储 next //单链表模板 int head,e[N],ne[N],idx; //head表示头节点的下标,e[i]表示节点i的值,ne[i]表示节 ......
力扣---1493. 删掉一个元素以后全为 1 的最长子数组
给你一个二进制数组 nums ,你需要从中删掉一个元素。 请你在删掉元素的结果数组中,返回最长的且只包含 1 的非空子数组的长度。 如果不存在这样的子数组,请返回 0 。 提示 1: 输入:nums = [1,1,0,1]输出:3解释:删掉位置 2 的数后,[1,1,1] 包含 3 个 1 。示例 ......
第三章-栈 队列和数组
栈 stack 数据接口三要素 逻辑,运算,存储 只允许在一端进行数据插入和删除操作. LIFO规则,last in first out 先进后出 联想到烤串.doge 卡特兰数(catalan),n个不同元素进栈,出栈元素不同排列的个数为 顺序栈 链栈 只在头结点插入和删除就是链栈 队列 FIFO ......
数组和字符串
数组操作 读取数组中的元素,是通过访问索引的方式来读取的,一般从0位置开始。 对于数组,计算机在内存中为其申请一段 连续 的空间,且会记下索引为0处的内存地址。主要的四种操作为:读取,查找,插入和删除元素。 1.寻找数组的中心索引: 给定整数数组nums,计算数组的中心下标(其左侧所有元素相加之和等 ......
023 指针数组和数组指针
/* 一: 原理 二: 指针数组 三: 数组指针 */ 一: 原理 定义变量: int num = 1; 1 组合: 符号 + 名称 (1) 符号: 数据类型 (2) 名称: 要操作的数据类型 (3) 符号为名称所服务的。 2 优先: (1) 默认优先级 (2) 离符号近(从左到右)的优先级高 (3 ......
有序数组(类模板)
一、问题描述: 实现一个类模板,它可以接受一组数据,能对数据排序,也能输出数组的内容。 每行输入的第一个数字为0,1,2或3:为0时表示输入结束; 为1时表示将输入整数,为2时表示将输入有一位小数的浮点数,为3时表示输入字符。 如果第一个数字非0,则接下来将输入一个正整数,表示即将输入的数据的数量。 ......
2023-04-28 LeetCode精选题目20道附我的Java实现
LeetCode精选题目20道 1.56.合并区间 贪心 给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: intervals = [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] ......
JPA 使用@query 时,判断数组
一般如果使用@query时, 我们的sql是这样的: select * from t where (ifnull(:a,'')='' or t.a=:a) and (ifnull(:b,'')='' or t.b=:b) 但如果a参数是一个数组a=[1,2,3],怎么办?ifnull会变成ifnul ......
go语言 数组和切片、可变长参数、maps、字符串、指针、结构体、方法、接口
==数组和切片== 数组 # 1 定义,初始化,使用 # 2 数组是值类型 数字,字符串,布尔,数组,都是值类型,真正直接存数据 切片,map,指针 引用类型,是个地址,指向了具体的值 # 3 数组长度 # 4 循环打印数组 # 5 多纬数组 # 6 数组定义并赋初值 ,把第99 赋值为1 ,其他都 ......
将字节数组输入流拷贝成字节数组输出流,将ByteArrayInputStream转成ByteArrayOutputStream
/** 将 ByteArrayInputStream 拷贝成 ByteArrayOutputStream * 将 字节数组输入流 拷贝成 字节数组输出流 */ public static ByteArrayOutputStream getByteArrayOutputStream(ByteArray ......
C语言刷leetcode——并查集
概述 https://leetcode.cn/problems/number-of-provinces/solution/python-duo-tu-xiang-jie-bing-cha-ji-by-m-vjdr/ 基本概念 并查集是一种数据结构 并查集这三个字,一个字代表一个意思。 并(Union ......
位运算:剑指 Offer 39. 数组中出现次数超过一半的数字
题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 限制: 1 <= 数组长度 <= 50000 解题思路: 摩尔投票法: 核心理念为 票数正负抵消 。此方法时间和空间复杂度分别为 O(N) 和 O(1) ,为本题的最 ......
vscode-leetcode
vscode 里写 leetcode 需要的插件xavier-cai.vscode-leetcode-cpp-debug, leetcode.vscode-leetcode LeetCode C++ Debugger.Delete Temporary Contents置为false ctrl+shi ......
二维数组在代码中的应用
在做人岗架时,最初在需求拟定时,客户信誓旦旦的说一个用户只会属于一个部门的一个岗位,所以设计数据库如下: 同时也有用户角色关系表 角色表 以及用户码表。 仅仅隔了半年突然就出现了特殊情况,有多个部门多个岗位为一个用户的情况,主职和兼职的情况。用户唯一标识是手机号,用户也只有一个手机。 这样为了避免大 ......
数字在排序数组中出现的次数
class Solution { public: //二分找出k第一次,最后一个k后面的下标,相减就是答案 int getNumberOfK(vector<int>& nums , int k) { int n=nums.size(); if(!n) return 0; //找到第一个≥k的下标 i ......
LeetCode 241 为运算表达式设计优先级
LeetCode | 241.为运算表达式设计优先级 给你一个由数字和运算符组成的字符串 expression ,按不同优先级组合数字和运算符,计算并返回所有可能组合的结果。你可以 按任意顺序 返回答案。 生成的测试用例满足其对应输出值符合 32 位整数范围,不同结果的数量不超过 104 。 示例 ......
HJ93 数组分组
修改1: 修改2: 修改3:(正确答案) 修改4:优化修改3。在修改3代码实现,尽管找到了一组可行的true,但仍然会执行后面的递归。 可进行优化找到一组true后不再进行后面的递归尝试。优化实现方式是,找到一组true后,之后其他递归全部执行返回。 1 #no=input() 2 a=list(m ......
1005. K 次取反后最大化的数组和
给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后,返回数组 可能的最大和 。 输入:nums = [4,2,3], k = 1 输 ......
643. 子数组最大平均数 I
给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。 请你找出平均数最大且 长度为 k 的连续子数组,并输出该最大平均数。 任何误差小于 10-5 的答案都将被视为正确答案。 示例 1: 输入:nums = [1,12,-5,-6,50,3], k = 4输出:12.75解释:最大平均 ......
c语言中,字符数组名 与 指向字符串常量的指针之间的关系
char a[] = "hello"; //定义一个字符数组a, const char *b = "hello"; //定义一个指向字符的指针b,指向字符串常量的第一个字符的首地址 区别: a是一个指针常量,它本身的值不能修改,即 char * const a; b是一个常量指针,它所指向的值不能修 ......
【二分查找】LeetCode 153. 寻找旋转排序数组中的最小值
题目链接 153. 寻找旋转排序数组中的最小值 思路 首先分析一下旋转数组可能有的状态: 左 < 中 < 右,此时最小值肯定在左边,应当收缩右边界 左 < 中,中 > 右,此时最小值肯定在右半段,应当收缩左边界 左 > 中,中 < 右,此时最小值肯定在左半段,应当收缩右边界 分析这三种状态可以发现, ......
[LeetCode] 1031. Maximum Sum of Two Non-Overlapping Subarrays
Given an integer array nums and two integers firstLen and secondLen, return the maximum sum of elements in two non-overlapping subarrays with lengths ......
LeetCode 双指针
15. 三数之和 (为0) 下标不能是重复的,必定右 i<l<r 1、先对数组排序(从小到大) 2、外层 i 遍历 如果 nums[i] > 0 ,整个 nums[] 后面的必定无法有三元组为0(排过序了,后面的 nums[l] nums[r] 都会大于0)。break。 如果 nums[i] = ......