当前位置:网站首页>五月刷题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
边栏推荐
- QML control type: Popup
- The carousel component of ant design calls prev and next methods in TS (typescript) environment
- Servlet learning diary 8 - servlet life cycle and thread safety
- Redis之哨兵模式
- CAP理论
- Publish and subscribe to redis
- Sqlmap installation tutorial and problem explanation under Windows Environment -- "sqlmap installation | CSDN creation punch in"
- QML type: locale, date
- MapReduce工作机制
- Mapreduce实例(九):Reduce端join
猜你喜欢
【深度学习】语义分割:论文阅读:(2021-12)Mask2Former
Redis之Bitmap
Advance Computer Network Review(1)——FatTree
Different data-driven code executes the same test scenario
Blue Bridge Cup_ Single chip microcomputer_ Measure the frequency of 555
Advanced Computer Network Review(5)——COPE
Reids之删除策略
Redis之哨兵模式
解决小文件处过多
Detailed explanation of cookies and sessions
随机推荐
Basic concepts of libuv
【深度學習】語義分割-源代碼匯總
Scoped in webrtc_ refptr
Sentinel mode of redis
Mapreduce实例(八):Map端join
O & M, let go of monitoring - let go of yourself
Global and Chinese market of AVR series microcontrollers 2022-2028: Research Report on technology, participants, trends, market size and share
Kratos ares microservice framework (II)
[shell script] - archive file script
【shell脚本】使用菜单命令构建在集群内创建文件夹的脚本
【每日一题】搬运工 (DFS / DP)
What is an R-value reference and what is the difference between it and an l-value?
Mysql database recovery (using mysqlbinlog command)
Blue Bridge Cup_ Single chip microcomputer_ PWM output
小白带你重游Spark生态圈!
【深度学习】语义分割:论文阅读:(2021-12)Mask2Former
LeetCode41——First Missing Positive——hashing in place & swap
Pytest's collection use case rules and running specified use cases
Leetcode problem solving 2.1.1
AcWing 2456. Notepad