luyencode / comments

Server lưu trữ bình luận trên Luyện Code
https://luyencode.net
6 stars 3 forks source link

https://oj.luyencode.net/problem/VT02 #36

Open utterances-bot opened 3 years ago

utterances-bot commented 3 years ago

Tìm số lớn thứ hai của mảng - Luyện Code Online

https://luyencode.net/problem/VT02

phanhuykhang commented 3 years ago

"NOT FOUND" chứ ko phải "NO FOUND" nhé kimdiendo

hieuguyen07012004 commented 3 years ago

test 2 là gì vậy?

huukhuong commented 3 years ago

Nvcuonghandsome check thêm trường hợp mảng toàn các phần tử bằng nhau hoặc số phần tử <2 nữa bác

mastershot24 commented 3 years ago

Đề thiếu test case cho số lớn nhất rồi các số sau đó trong mảng đều nhỏ hơn Vd: 5 1 5 4 2 3 Thì theo code mình viết là output ra số lớn nhì là 1 mà vẫn được AC.

Code sai vẫn được AC

```java import java.util.Scanner; import java.lang.Math; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); int t = in.nextInt(); int[] array = new int[t]; for(int i = 0; i < array.length; i++){ array[i] = in.nextInt(); } int max_1st = array[0]; int max_2nd = array[0]; for(int i = 0; i < array.length; i++){ if(Math.max(max_1st,array[i]) == array[i]){ max_2nd = max_1st; max_1st = array[i]; } } if(max_1st != max_2nd){ System.out.println(max_2nd); } else { System.out.println("NOT FOUND"); } in.close(); } } ```

behitek commented 3 years ago

Đề thiếu test case cho số lớn nhất rồi các số sau đó trong mảng đều nhỏ hơn

Cám ơn em, anh đã bổ sung vào hệ thống!

theduc0x commented 3 years ago

https://anotepad.com/notes/eaxhfnw7 C++ Nếu các b chưa làm đc thì có thể xem

JOKERBKHN commented 3 years ago

Đề thiếu test case cho số lớn nhất rồi các số sau đó trong mảng đều nhỏ hơn Vd: 5 1 2 2 2 2 Thì theo code mình viết là output ra số lớn nhì là 2 mà vẫn được AC.

behitek commented 3 years ago

Cảm ơn các em góp ý, anh đã update bộ test.

lntv0407 commented 3 years ago

cho em hỏi mình dùng #include thì nên chọn ngôn ngữ C++ nào ad nhỉ

shenlong0907 commented 3 years ago

ý tưởng của mình là viết ra một hàm , trong hàm dùng hàm sort sắp xếp các phần từ từ bé đến lớn, sử dụng một biến count bắt đầu từ 1 để đếm các phần tử bằng số lớn nhất của mảng , sau đó nếu count=n in ra NOT FOUND , nếu không in ra a[n-count-1].Các bạn có thể thử mình đã làm và AC

lvdat commented 3 years ago

Loại bỏ hết trùng lặp, sắp xếp lại. NOT FOUND nếu len nhỏ hơn 2, còn lại số cần tìm là arr[len-2]. P/s: python có vẻ nhẹ :)))

Code AC - Py3

```python n = int(input()) arr = list(map(int, input().split())) arr = sorted(set(arr)) print("{}".format("NOT FOUND" if len(arr) <= 1 else arr[-2])) ```

h1eu commented 3 years ago

@Brucewayn33 code như trên thì a[1] = a[0] thì nó có thể nhảy ra luôn not found đấy

nanaboo22 commented 3 years ago

Cho em hỏi là tại sao bài của em chạy được trong DevC++ và Visual Studio Code mà ở đây lại TLE ạ? Em chạy thử source code trong khóa lập trình C/C++ của Lập trình không khó cũng bị TLE

sinbadincr commented 3 years ago

cho em hỏi test 3 là gì ạ :(

TuTran21195 commented 3 years ago

test 7 và test 10 là gì v ạ? Mãi ko nghĩ ra sai đâu luôn :(((( Ps: à thôi em bt rồi ạ :((

TuTran21195 commented 3 years ago

cho em hỏi test 3 là gì ạ :(

hình như test đó là tất cả các phần tử bằng nhau đó b kiểu: 3 1 1 1

ahuynh359 commented 3 years ago

Test 4 4 thì tại sao kết quả là 4 mà vẫn đúng nhỉ

nguyenan202 commented 3 years ago

Code C đã AC nhưng hơi dài các b có thể tham khảo https://anotepad.com/notes/hcnc9pw8

NinjaRolex commented 3 years ago

tets 4 là gì vậy mn?? mò từ qua đến giờ vẫn ko Accepted được test đó=((

TienNhuong commented 3 years ago

test 7 la gi v mn

AndrewNguyen-05 commented 3 years ago

code C++ AC, các b có thể tham khảo https://anotepad.com/notes/7ncahxqq

nguyenlam0306 commented 3 years ago

9/11 à mụi người

Shincodengu commented 2 years ago

mình làm ra rồi ạ :(

MinhVy-PCB commented 2 years ago

Đây là lời giải của mình code C . Nếu bạn đã cố gắng mà chưa làm được thì có thể tham khảo lời giải của mình.

Xem code AC

```cpp #include int main(){ int n; int a[1000]; scanf("%d",&n); for(int i = 0; i < n; i++){ scanf("%d",&a[i]); } int tt; for(int i = 0; i < n; i++){ for(int j = i+1 ; j < n; j++){ if(a[i] > a[j]){ tt = a[i]; a[i] = a[j]; a[j] = tt; } } } int gtln = a[n-1]; //gia tri lao nhat// int dem = 0; for(int i = 0; i < n-1; i++){ if(a[i] == gtln){ dem++; } } if(dem == n-1){ printf("NOT FOUND"); }else{ printf("%d",a[n-2-dem]); } return 0; } ```

naruto-2002 commented 2 years ago

Xem code AC Phython3 print('hello wrod')

naruto-2002 commented 2 years ago

Xem code AC

Phython3
print('hello')
naruto-2002 commented 2 years ago

https://github.com/luyencode/comments/issues/36#issuecomment-986048848

naruto-2002 commented 2 years ago

https://github.com/luyencode/comments/issues/36#issuecomment-986048848

iuhthanhhuong commented 2 years ago

Code 2 9 10 là gì vậy ạ :((

LuongXuanNhat commented 2 years ago

Đây là lời giải của mình đã AC. Nếu bạn đã cố gắng mà chưa làm được thì có thể tham khảo lời giải của mình.

Xem code AC

#include using namespace std; int main(){ long long m=-10000000000; long n,max; cin >> n; long a[n]; for(int i=0;i> a[i]; max=a[0]; for(int i=0;i

huynamboz commented 2 years ago

mình sort từ lớn đến bé rồi xóa phần tử trùng lặp rồi in ra a[1]

102210292githug commented 2 years ago

cuối cùng cũng AC

chienno123 commented 2 years ago

Mấy bạn có thể tham khảo: https://anotepad.com/

chienno123 commented 2 years ago

https://anotepad.com/notes/ay53tpcy

khanhkunji commented 2 years ago

Bài này các bạn nên để ý là phần tử lớn thứ 2 , chứ không phải là bỏ qua trùng lặp nhé . Nhiều bạn vẫn sử dụng cách thông thường là tìm số lớn nhất rồi đi so sánh với các số khác còn lại thì sẽ sai vài test nha .

bibimoni commented 2 years ago
AC Code Without Array

#include using namespace std; int main() { int n; cin >> n; priority_queue Q; for(int i = 0; i < n; i++) { long long x; cin >> x; Q.push(x); } while(!Q.empty()) { long long first = Q.top(); Q.pop(); if(first != Q.top()) break; } Q.empty() ? cout << "NOT FOUND" : cout << Q.top(); }

Gilgamesh-hoang commented 2 years ago

Đây là lời giải JAVA của mình đã AC. Nếu bạn đã cố gắng mà chưa làm được thì có thể tham khảo lời giải của mình. Lấy ý tưởng của shenlong0907: dùng hàm sort sắp xếp các phần từ từ bé đến lớn, sử dụng một biến count bắt đầu từ 1 để đếm các phần tử bằng số lớn nhất của mảng , sau đó nếu count=n in ra NOT FOUND , nếu không in ra a[n-count-1].

Xem code AC

import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); int[] a = new int[t]; for (int i = 0; i < t; i++) { a[i] =sc.nextInt(); } Arrays.sort(a); int max = a[a.length-1]; int c=0; for (int i = 0; i < a.length; i++) { if(a[i] == max) c++; } if(c==t) System.out.println("NOT FOUND"); else System.out.println(a[t-c-1]); } }

NghiNguyenVinh commented 2 years ago

test 2 4 9 10 hình như liên quan tới các phần tử âm

danh2006 commented 2 years ago

Đây là lời giải của mình đã AC. Nếu bạn đã cố gắng mà chưa làm được thì có thể tham khảo lời giải của mình.

Xem code AC

#include #include #define ll long long using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); ll n; cin >> n; if(n<2){ cout << "NOT FOUND"; return 0; } ll a[n], cnt = 0; for(ll i=0;i> a[i]; } sort(a, a+n); for(int i=0;i

Leducphat1234 commented 2 years ago

python3 dễ hơn

louishoang03 commented 2 years ago

cho em hỏi test 7 10 là gì ạ?

tramthuysinh commented 2 years ago

Cho mình hỏi test 3, test 11 là gì ạ?

mhung211 commented 2 years ago

cho e hỏi case 4 là gì ạ

taqducouteau commented 1 year ago

Đây là lời giải của mình, các bạn có thể tham khảo

Code AC C++ tham khảo

#include using namespace std; main(){ int n; cin >> n; int a[n]; cin >> a[0]; int max = a[0]; for(int i=1;i> a[i]; if(a[i]>max) max=a[i]; } int kc = 0; for(int i=0;i

polopilo commented 1 year ago
          Đây là lời giải của mình, các bạn có thể tham khảo
Code AC C++ tham khảo

#include using namespace std; int main() { long long n,ma1=-1e10,ma2=-1e10; cin>>n; long long a[n]; for (long long i=0;i>a[i]; } for (long long i=0;ima1) { ma1=a[i]; } } for (long long i=0;ima2&&a[i]!=ma1) { ma2=a[i]; } } if (ma2==-1e10) cout<<"NOT FOUND"; else cout<

tuananh99ptit commented 1 year ago

AC: https://www.ideone.com/ythFz5

LesdSD commented 1 year ago

Đây là lời giải python của mình đã AC. Nếu bạn đã cố gắng mà chưa làm được thì có thể tham khảo lời giải của mình.

Xem code AC

```py n=int(input()) if 2<=n<=10**6: l=list(map(int, input().split())) if len(l)==n: a=0 for i in l: if abs(i)>10**9: a=1 if a==0: b=max(l) while b==max(l): l.remove(max(l)) if l==[]: break if l==[]: print('NOT FOUND') else: print(max(l))

ngokwuan commented 1 year ago

mn cho mik hỏi là test 5 6 8 9 10 là j z

minhquan1409 commented 1 year ago

cho tui hỏi code tui sai ở đâu v mng ý tưởng là duyệt max1 với max2 nếu max2<=max1 thì oke còn ko not found. ko có pass hết á int main() { int a[1000000]; int n; cin>>n; for (int i=0;i<n;i++) { cin>>a[i]; } int max1=-1e9,max2=-1e9; for (int i=0; i<n; i++) { if (a[i]>max1) {

        max2=max1;
        max1=a[i];
    }
    else if (a[i]>max2) {
        max2=a[i];
    }
}
if (max2<=max1) cout<<max2;
else cout<<"NOT FOUND";

}