[Mảng 1 Chiều Cơ Bản]. Bài 12. Vị trí số lớn nhất, nhỏ nhất
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Java
2.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho mảng số nguyên A[] gồm N phần tử, hãy tìm vị trí(bắt đầu từ 0) cuối cùng của giá trị nhỏ nhất trong mảng và vị trí đầu tiên của giá trị lớn nhất trong mảng.
Tức là nếu có nhiều số có cùng giá trị nhỏ nhất bạn phải in ra ví trí cuối cùng, và có nhiều số có cùng giá trị lớn nhất trong mảng bạn phải in ra vị trí đầu tiên lớn nhất đó.
Đầu vào
Dòng đầu tiên là số nguyên dương N
Dòng thứ 2 gồm N số nguyên viết cách nhau một vài khoảng trắng
Giới hạn
1<=N<=10^6
1<=A[i]<=10^6
Đầu ra
In trên 1 dòng 2 chỉ số mà bạn tìm được.
Ví dụ :
Input 01
9
936 234 471 168 834 82 280 674 881
Output 01
5 0
Bình luận
ý tưởng cho ae nào bí nhé: FULL AC:
đầu tiên ae phải tạo 2 biến max và min, biến max thì cho là số bé nhất có thể như -1e6 còn min thì là lớn nhất có thể như 1e6,
sau đó ae tạo 1 vòng lặp chạy từ đầu đến cuối mảng, ae dùng mỗi phần tử i để so với max nếu lớn hơn max thì thay vào max, còn bé hơn min thì thay vào min, sau đó ae thoát vòng lặp, tạo 2 biến là biến đầu tiên và cuối cùng hai biến này ae đặt là -1, rồi ae tạo 1 vòng lặp i mới chạy từ đầu tới cuối mảng, sau đó ae lấy từng phần tử i để so xem nó có = với max ko nếu bằng thì ae kiểm tra tiếp biến đầu tiên có bằng -1 ko nếu bằng thì gán lại cho biến đầu tiên = i; tức là vị trí của phần tử đó ae ở vòng lặp tiếp theo nó đã là bằng i rồi tức là ko == -1 cho nên ko lưu tiếp vị trí nữa; rồi ae kiểm tra tiếp i có = với min ko nếu bằng thì ae kiểm tra nếu nó lớn hơn hoặc bằng -1, thì ae gán lại cho nó thành i; vì nếu để nó == -1 thì nó sẽ chỉ lấy vị trí đầu giống biến đầu tiên thôi sẽ ko giống yêu cầu của đề bài dẫn đến bị WA nha ae, rồi ae cout ra biến cuối cùng và đầu tiên ở ngoài vòng lặp là xong nha ae.
include <bits/stdc++.h>
Code full ac cho bạn nào cần:
Code này tle 2 test nhé:
include<bits/stdc++.h>
using namespace std; typedef long long ll; const ll ma=1e6; vector<ll>fib(ma+5); void sang() { fib[0]=0; fib[1]=1; for(ll i=2;i<=ma;i++) fib[i]=fib[i-1]+fib[i-2]; } ll a[ma+5],n,d=0; int main() { os::syncwithstdio(0); cin.tie(nullptr); sang(); cin>>n; for(ll i=0;i<n;i++) { cin>>a[i]; ll x=count(fib.begin(),fib.end(),a[i]); if(x!=0){ cout<<a[i]<<" "; d++; } } if(d==0)cout<<"NONE"; }
include <bits/stdc++.h>
void solve() { int n,index=-1; cin>>n; vector<int> v1(n), v2; for(int&i:v1)cin>>i; v2 = v1; sort(v2.begin(), v2.end()); for(int i=0;i<n;i++) if(v1[i] == v2[0]) index = i; cout << index << ' '; for(int i=0;i<n;i++){ if(v1[i] == v2[n-1]){ cout << i; return; } }
Làm trâu như thế này mà cũng đc AC :))
include <algorithm>
include <set>
include <iostream>
include<vector>
include <unordered_set>
include<math.h>
include <string>
using namespace std;
define ll long long
int main() { ll n; cin >> n; ll x, dem = 0, mo=0; vector<ll> a; for (ll i = 0; i < n; i++) { cin >> x; a.push_back(x); } ll max = a[0]; ll min = a[1]; for (ll k = 0; k < n; k++) { if(a[k]>max){ max = a[k];
}
include <set>
include <unordered_set>
include <string>
include <cmath>
include <algorithm>
…mà không dùng 1 cái nào 🤡 Code xấu nhưng số hưởng, miễn pass là được, còn sạch để sau kkk
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
include<bits/stdc++.h>
using namespace std; int main() { int n,x; vector<int> v; cin>>n; int maxn,minn; for(int i=0;i<n;i++) { cin>>x; v.pushback(x); } auto it=maxelement(v.begin(),v.end()); auto ki=min_element(v.begin(),v.end()); for(int i=0;i<v.size();i++) { if(v[i]==ki) minn=i; } for(int i=0;i<v.size();i++) { if(v[i]==it) {maxn=i;break;} } cout<<minn<<" "<<maxn; }
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
using System; using System.Net;
namespace Work { internal class MainControl {
}
.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
hm,
.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.