当前位置:网站首页>五月刷题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
边栏推荐
- Blue Bridge Cup_ Single chip microcomputer_ Measure the frequency of 555
- Mapreduce实例(六):倒排索引
- Redis' performance indicators and monitoring methods
- Global and Chinese market of electronic tubes 2022-2028: Research Report on technology, participants, trends, market size and share
- Activiti7工作流的使用
- The carousel component of ant design calls prev and next methods in TS (typescript) environment
- Global and Chinese markets for modular storage area network (SAN) solutions 2022-2028: Research Report on technology, participants, trends, market size and share
- 一文读懂,DDD落地数据库设计实战
- [three storage methods of graph] just use adjacency matrix to go out
- [Yu Yue education] reference materials of complex variable function and integral transformation of Shenyang University of Technology
猜你喜欢
[oc]- < getting started with UI> -- learning common controls
Advance Computer Network Review(1)——FatTree
Sentinel mode of redis
Publish and subscribe to redis
Once you change the test steps, write all the code. Why not try yaml to realize data-driven?
解决小文件处过多
[deep learning] semantic segmentation: paper reading: (2021-12) mask2former
How to intercept the string correctly (for example, intercepting the stock in operation by applying the error information)
Workflow - activiti7 environment setup
Hard core! One configuration center for 8 classes!
随机推荐
为拿 Offer,“闭关修炼,相信努力必成大器
Basic concepts of libuv
How to intercept the string correctly (for example, intercepting the stock in operation by applying the error information)
Mapreduce实例(八):Map端join
有软件负载均衡,也有硬件负载均衡,选择哪个?
Blue Bridge Cup_ Single chip microcomputer_ PWM output
QML control type: Popup
[shell script] use menu commands to build scripts for creating folders in the cluster
Sqlmap installation tutorial and problem explanation under Windows Environment -- "sqlmap installation | CSDN creation punch in"
Redis之持久化实操(Linux版)
Scoped in webrtc_ refptr
[three storage methods of graph] just use adjacency matrix to go out
Redis connection redis service command
Multivariate cluster analysis
Mapreduce实例(九):Reduce端join
[Yu Yue education] reference materials of power electronics technology of Jiangxi University of science and technology
Redis' performance indicators and monitoring methods
Detailed explanation of cookies and sessions
The carousel component of ant design calls prev and next methods in TS (typescript) environment
Redis之发布订阅