Inbox for mugurel_ionut@yahoo.com    Yahoo! - My Yahoo!     Options - Sign Out - Help
Mail    Addresses    Calendar    Notepad   

Download Attachments
    Next | Inbox
Date: 3 Oct 00 13:53:06 EET DST
From: Popovici Dan <popovici_dan@usa.net>  | Block address
To: Cristian FRANCU <francu@cs.rutgers.edu>
Subject: Re: [Problemuta]
CC: probleme@ldc.ro
Add Addresses

Se da un vector de n elemente intregi. Se cere sa se scrie o functie 
care
sa determine daca el este o permutare a numerelor de la 1 la n. 
Algoritmul
trebuie sa fie liniar. Memoria suplimentara folosita sa fie O(1) (deci 
nu
aveti voie sa folositi inca un vector). In schimb, aveti voie sa 
stricati
vectorul.


PS poate cineva sa demonstreze ca problema (nu) se poate rezolva fara a
strica nici vectorul?

Chiar ca mi s-a parut interesanta problemuta si uite algoritmul gasit 
de mine
:
1) Se verifica daca exista un numar negativ in sir daca da nu este o 
permutare
,iar daca nu exista se trece mai departe 
2)Se parcurge vectorul si se schimba semnul elementului a[i](suntem pe 
pozitia
i ,valoarea este a[i] si a[a[i]]:=-a[a[i]], iar daca a[i]este negativ 
se
schima semnul lui -a[a[i]])
3)Daca la sfarsit toate elementele sunt negative atunci vectorul  este 
o
permutare 
Daca nu se intalege algoritmul trimit si sursa 
Ce parere ai ? 


____________________________________________________________________
Get free email and a permanent address at 
http://www.netaddress.com/?N=1

     Next | Inbox
Download Attachments

Yahoo! Messenger - Send instant messages to your online friends.
Address Book · Alerts · Auctions · Bill Pay · Bookmarks · Briefcase · Broadcast · Calendar · Chat · Classifieds · Clubs · Companion · Experts ·Games · Greetings · Home Pages · Invites · Mail · Maps · Member Directory · Messenger · My Yahoo! · News · PayDirect · People Search · Personals · Photos · Shopping · Sports · Stock Quotes · TV · Travel · Weather · Yahooligans · Yellow Pages · more...

Privacy Policy- Terms of Service - Guidelines
Copyright © 1994-2000 Yahoo! Inc. All rights reserved.