当前位置:网站首页>五月刷题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
边栏推荐
- 【shell脚本】使用菜单命令构建在集群内创建文件夹的脚本
- Global and Chinese market of cup masks 2022-2028: Research Report on technology, participants, trends, market size and share
- Global and Chinese market of appointment reminder software 2022-2028: Research Report on technology, participants, trends, market size and share
- Advanced Computer Network Review(5)——COPE
- Redis之连接redis服务命令
- Reids之缓存预热、雪崩、穿透
- QML type: locale, date
- [oc]- < getting started with UI> -- common controls - prompt dialog box and wait for the prompt (circle)
- Five layer network architecture
- Connexion d'initialisation pour go redis
猜你喜欢

Mapreduce实例(七):单表join

Design and implementation of online snack sales system based on b/s (attached: source code paper SQL file)

Design and implementation of online shopping system based on Web (attached: source code paper SQL file)

Mapreduce实例(六):倒排索引

Redis之Geospatial

Redis' bitmap

Advanced Computer Network Review(4)——Congestion Control of MPTCP

英雄联盟轮播图手动轮播

Redis之五大基础数据结构深入、应用场景

Blue Bridge Cup_ Single chip microcomputer_ Measure the frequency of 555
随机推荐
Redis geospatial
068.查找插入位置--二分查找
Chapter 1 :Application of Artificial intelligence in Drug Design:Opportunity and Challenges
Lua script of redis
The carousel component of ant design calls prev and next methods in TS (typescript) environment
CSP student queue
Sqlmap installation tutorial and problem explanation under Windows Environment -- "sqlmap installation | CSDN creation punch in"
Multivariate cluster analysis
基于B/S的医院管理住院系统的研究与实现(附:源码 论文 sql文件)
MySQL数据库优化的几种方式(笔面试必问)
Kratos ares microservice framework (II)
Redis之cluster集群
Mapreduce实例(六):倒排索引
Mapreduce实例(五):二次排序
发生OOM了,你知道是什么原因吗,又该怎么解决呢?
Blue Bridge Cup_ Single chip microcomputer_ PWM output
美团二面:为什么 Redis 会有哨兵?
Global and Chinese market of AVR series microcontrollers 2022-2028: Research Report on technology, participants, trends, market size and share
【shell脚本】使用菜单命令构建在集群内创建文件夹的脚本
[oc]- < getting started with UI> -- common controls uibutton