当前位置:网站首页>五月刷题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
边栏推荐
- Minio distributed file storage cluster for full stack development
- Redis core configuration
- Withdrawal of wechat applet (enterprise payment to change)
- Kratos ares microservice framework (III)
- Redis connection redis service command
- Global and Chinese markets for modular storage area network (SAN) solutions 2022-2028: Research Report on technology, participants, trends, market size and share
- AcWing 2456. Notepad
- Redis之Bitmap
- QML type: overlay
- go-redis之初始化连接
猜你喜欢
Design and implementation of online snack sales system based on b/s (attached: source code paper SQL file)
Redis geospatial
Improved deep embedded clustering with local structure preservation (Idec)
Use of activiti7 workflow
Heap (priority queue) topic
[oc]- < getting started with UI> -- common controls - prompt dialog box and wait for the prompt (circle)
Redis之主从复制
为拿 Offer,“闭关修炼,相信努力必成大器
The five basic data structures of redis are in-depth and application scenarios
Redis之哨兵模式
随机推荐
基于B/S的网上零食销售系统的设计与实现(附:源码 论文 Sql文件)
美团二面:为什么 Redis 会有哨兵?
O & M, let go of monitoring - let go of yourself
AcWing 2456. Notepad
五层网络体系结构
Once you change the test steps, write all the code. Why not try yaml to realize data-driven?
Sqlmap installation tutorial and problem explanation under Windows Environment -- "sqlmap installation | CSDN creation punch in"
CSP student queue
MapReduce工作机制
Global and Chinese market of linear regulators 2022-2028: Research Report on technology, participants, trends, market size and share
【shell脚本】——归档文件脚本
Redis之cluster集群
Research and implementation of hospital management inpatient system based on b/s (attached: source code paper SQL file)
Basic usage of xargs command
Global and Chinese market of bank smart cards 2022-2028: Research Report on technology, participants, trends, market size and share
go-redis之初始化連接
Withdrawal of wechat applet (enterprise payment to change)
Kratos ares microservice framework (II)
面渣逆袭:Redis连环五十二问,图文详解,这下面试稳了
Redis' performance indicators and monitoring methods