当前位置:网站首页>五月刷题01——数组
五月刷题01——数组
2022-07-06 09:02:00 【追逐梦想的阿光】
今日刷题内容: 数组
前言
- 一个算法废材的刷题之路开更了, 更新每天刷题的题解内容
- 注重个人理解,看难度更新题目数量
- 题目来源于力扣
- 新开专栏,争取每日都能做出至少一题=v=
- 语言java、python、c\c++
一、今日题目
二、解题思路
1. 2016. 增量元素之间的最大差值
- 按照题目要求是求前项下标的最小值于后项下标的差最大值
- 用一个变量来记录前项的最小值
- 维护最小值变量和更新差值即可
class Solution {
public int maximumDifference(int[] nums) {
int i = 0;
int j = 1;
int n = nums.length;
int ret = - 1;
int pre = nums[0];
while(j < n){
if(nums[j] > pre){
ret = Math.max(ret, nums[j] - pre);
}else{
pre = nums[j];
}
j++;
}
return ret;
}
}
2. 2239. 找到最接近 0 的数字
- 要找最接近0的数,就是找绝对值最小的数
- 当绝对值相同时要取更大的数
- 用两个变量来维护绝对值和真值
class Solution {
public int findClosestNumber(int[] nums) {
int real = nums[0];
int absval = Math.abs(nums[0]);
for (int n: nums){
int x = Math.abs(n);
// 当前数绝对值比记录值更小时
if (x < absval){
absval = x;
real = n;
}
// 当前数绝对值相同时
else if(x == absval){
real = real > n ? real: n; // 真值取更大值
}
}
return real;
}
}
3. 1475. 商品折扣后的最终价格
- 数组下标前面的值可以用后面更小的值来抵扣
- 只需遍历数组,获取数组后面的更小值
- 更新数组即可
class Solution {
public int[] finalPrices(int[] prices) {
int i, j;
int n = prices.length;
for(i = 0; i < n; i++){
for (j = i+1; j < n; j++){
if (prices[j] <= prices[i]){
prices[i] -= prices[j];
break;
}
}
}
return prices;
}
}
4. 2248. 多个数组求交集
- 因为数的范围并不大,所以可以采用
hash表来做题- 统计每个数组中的所有数的个数
- 如果数的个数和数组的个数相同说明这个数是一个交集的子集
class Solution:
def intersection(self, nums: List[List[int]]) -> List[int]:
length = len(nums)
ret = [];
hash_tb = [0] * 1001
for num in nums:
for n in num:
hash_tb[n] += 1
for idx, val in enumerate(hash_tb):
if val == length:
ret.append(idx)
return ret
边栏推荐
- 软件负载均衡和硬件负载均衡的选择
- LeetCode41——First Missing Positive——hashing in place & swap
- Selenium+pytest automated test framework practice
- 工作流—activiti7环境搭建
- CAP理论
- Kratos战神微服务框架(二)
- Multivariate cluster analysis
- Global and Chinese markets for modular storage area network (SAN) solutions 2022-2028: Research Report on technology, participants, trends, market size and share
- Persistence practice of redis (Linux version)
- What is MySQL? What is the learning path of MySQL
猜你喜欢

Redis之持久化实操(Linux版)

基于B/S的影视创作论坛的设计与实现(附:源码 论文 sql文件 项目部署教程)

基于B/S的医院管理住院系统的研究与实现(附:源码 论文 sql文件)

Parameterization of postman

QML type: locale, date

解决小文件处过多

【深度學習】語義分割-源代碼匯總

Solve the problem of inconsistency between database field name and entity class attribute name (resultmap result set mapping)

IDS cache preheating, avalanche, penetration

为拿 Offer,“闭关修炼,相信努力必成大器
随机推荐
数据建模有哪些模型
Mapreduce实例(四):自然排序
Servlet learning diary 7 -- servlet forwarding and redirection
[oc]- < getting started with UI> -- common controls - prompt dialog box and wait for the prompt (circle)
Mapreduce实例(十):ChainMapReduce
CSP salary calculation
Scoped in webrtc_ refptr
Redis之核心配置
Vs All comments and uncomments
Pytest's collection use case rules and running specified use cases
The five basic data structures of redis are in-depth and application scenarios
Webrtc blog reference:
Advance Computer Network Review(1)——FatTree
Advanced Computer Network Review(4)——Congestion Control of MPTCP
Opencv+dlib realizes "matching" glasses for Mona Lisa
【深度学习】语义分割:论文阅读:(CVPR 2022) MPViT(CNN+Transformer):用于密集预测的多路径视觉Transformer
[Yu Yue education] Wuhan University of science and technology securities investment reference
Seven layer network architecture
基于B/S的医院管理住院系统的研究与实现(附:源码 论文 sql文件)
Design and implementation of film and television creation forum based on b/s (attached: source code paper SQL file project deployment tutorial)