JavaRush /ื‘ืœื•ื’ Java /Random-HE /ื ื™ืชื•ื— ืฉืืœื•ืช ื•ืชืฉื•ื‘ื•ืช ืžืจืื™ื•ื ื•ืช ืœืžืคืชื— Java. ื—ืœืง 13

ื ื™ืชื•ื— ืฉืืœื•ืช ื•ืชืฉื•ื‘ื•ืช ืžืจืื™ื•ื ื•ืช ืœืžืคืชื— Java. ื—ืœืง 13

ืคื•ืจืกื ื‘ืงื‘ื•ืฆื”
ืฉืœื•ื!
ืชื ื•ืขื” ืœืขื‘ืจ ืžื˜ืจื” ื”ื™ื, ืงื•ื“ื ื›ืœ, ืชื ื•ืขื”.
ืœื›ืŸ, ืœื ืžืกืคื™ืง ืจืง ืœื—ืฉื•ื‘ ืฉืืชื” ืจื•ืฆื” ืœื”ืฉื™ื’ ืžืฉื”ื•. ืืชื” ืฆืจื™ืš ืœืขืฉื•ืช ืžืฉื”ื• - ืืคื™ืœื• ืืช ื”ืฆืขื“ื™ื ื”ื›ื™ ืงื˜ื ื™ื - ืื‘ืœ ืœืขืฉื•ืช ืื•ืชื ื›ืœ ื™ื•ื, ื•ืจืง ื›ืš ืชืฉื™ื’ ืืช ื”ืžื˜ืจื” ื”ืกื•ืคื™ืช. ื•ืžื›ื™ื•ื•ืŸ ืฉืืชื” ื›ืืŸ ื›ื“ื™ ืœื”ืคื•ืš ืœืžืคืชื—ื™ Java, ืืชื” ืฆืจื™ืš ืœืงื—ืช ืœืคื—ื•ืช ืฆืขื“ ืžื™ื ื™ืžืœื™ ืœืงืจืืช ื”ืขืžืงืช ื”ื™ื“ืข ืฉืœืš ื‘ื’'ืื•ื•ื” ืžื“ื™ ื™ื•ื. ืœืฉืœื‘ ื”ื’'ืื•ื•ื” ืฉืœ ื”ื™ื•ื, ืื ื™ ืžืฆื™ืข ืœืš ืœื”ื›ื™ืจ ืืช ื”ื—ืœืง ื”ื—ื“ืฉ ืฉืœ ื”ื ื™ืชื•ื— ืฉืœ ืฉืืœื•ืช ื”ืจืื™ื•ื ื•ืช ื”ืคื•ืคื•ืœืจื™ื•ืช ื‘ื™ื•ืชืจ ืœืžืคืชื—ื™ื. ื ื™ืชื•ื— ืฉืืœื•ืช ื•ืชืฉื•ื‘ื•ืช ืžืจืื™ื•ื ื•ืช ืœืžืคืชื— Java.  ื—ืœืง 13 - 1ื”ื™ื•ื ื ืขื‘ื•ืจ ืขืœ ื”ื—ืœืง ื”ืžืขืฉื™ ืฉืœ ื”ืฉืืœื•ืช ืœืžื•ืžื—ื™ื ื’'ื•ื ื™ื•ืจ. ืžืฉื™ืžื” ืžืขืฉื™ืช ื‘ืจืื™ื•ืŸ ืื™ื ื” ื ื“ื™ืจื”. ื—ืฉื•ื‘ ืœื ืœืœื›ืช ืœืื™ื‘ื•ื“ ื‘ืžืฆื‘ ื›ื–ื”, ืœื ืกื•ืช ืœืฉืžื•ืจ ืขืœ ืงื•ืจ ืจื•ื— ื•ืœื”ืฆื™ืข ืืช ื”ืคืชืจื•ืŸ ื”ืื•ืคื˜ื™ืžืœื™, ืื• ืืคื™ืœื• ื›ืžื”. ื”ื™ื™ืชื™ ืžืžืœื™ืฅ ื’ื ืœื ืœืฉืชื•ืง ื‘ืขืช ืคืชืจื•ืŸ ื‘ืขื™ื”, ืืœื ืœื”ืขื™ืจ ืขืœ ื”ืœืš ื”ืžื—ืฉื‘ื” ืฉืœืš ื•ืœื›ืชื•ื‘ ืืช ื”ืคืชืจื•ืŸ, ืื• ืœืื—ืจ ื”ื›ืชื™ื‘ื”, ืœื”ืกื‘ื™ืจ ื‘ืžื™ืœื™ื ืžื” ืขืฉื™ืช ื•ืœืžื”. ื–ื” ื™ื—ื‘ื‘ ืื•ืชืš ืขืœ ื”ืžืจืื™ื™ืŸ ื”ืจื‘ื” ื™ื•ืชืจ ืžืืฉืจ ื”ื—ืœื˜ื” ืฉืงื˜ื”. ืื– ื‘ื•ืื• ื ืชื—ื™ืœ!

111. ืื™ืš ืžื—ืœื™ืคื™ื ื ืชื•ื ื™ื ื‘ื™ืŸ ืฉืจืฉื•ืจื™ื?

ื ื™ืชื•ื— ืฉืืœื•ืช ื•ืชืฉื•ื‘ื•ืช ืžืจืื™ื•ื ื•ืช ืœืžืคืชื— Java.  ื—ืœืง 13 - 2ื›ื“ื™ ืœื”ื—ืœื™ืฃ ื ืชื•ื ื™ื ื‘ื™ืŸ ืฉืจืฉื•ืจื™ื, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื”ืจื‘ื” ื’ื™ืฉื•ืช ื•ืืžืฆืขื™ื ืฉื•ื ื™ื: ืœื“ื•ื’ืžื”, ื”ืฉืชืžืฉ ื‘ืžืฉืชื ื™ื ืื˜ื•ืžื™ื™ื, ืื•ืกืคื™ื ืžืกื•ื ื›ืจื ื™ื ื•ืกืžืคื•ืจ. ืื‘ืœ ื›ื“ื™ ืœืคืชื•ืจ ื‘ืขื™ื” ื–ื•, ืืชืŸ ื“ื•ื’ืžื” ืขื Exchanger . Exchanger ื”ื•ื ืžื—ืœืงืช ืกื ื›ืจื•ืŸ ืžื”ื—ื‘ื™ืœื” ื‘ืžืงื‘ื™ืœ ื”ืžืืคืฉืจืช ื”ื—ืœืคืช ืืœืžื ื˜ื™ื ื‘ื™ืŸ ื–ื•ื’ ื—ื•ื˜ื™ื ืขืœ ื™ื“ื™ ื™ืฆื™ืจืช ื ืงื•ื“ืช ืกื ื›ืจื•ืŸ ืžืฉื•ืชืคืช. ื”ืฉื™ืžื•ืฉ ื‘ื• ืžืคืฉื˜ ืืช ื—ื™ืœื•ืคื™ ื”ื ืชื•ื ื™ื ื‘ื™ืŸ ืฉื ื™ ืฉืจืฉื•ืจื™ื. ื”ื“ืจืš ืฉื‘ื” ื–ื” ืขื•ื‘ื“ ื”ื™ื ื“ื™ ืคืฉื•ื˜ื”: ื”ื™ื ืžืžืชื™ื ื” ืœืฉื ื™ ืฉืจืฉื•ืจื™ื ื ืคืจื“ื™ื ื›ื“ื™ ืœืงืจื•ื ืœืฉื™ื˜ืช exchange() ืฉืœื• . ื ื•ืฆืจ ื‘ื™ื ื™ื”ื ืžืฉื”ื• ื›ืžื• ื ืงื•ื“ืช ื”ื—ืœืคื”: ื”ื—ื•ื˜ ื”ืจืืฉื•ืŸ ืฉื ืืช ื”ื—ืคืฅ ืฉืœื• ื•ืžืงื‘ืœ ืืช ื”ื—ืคืฅ ืฉืœ ื”ืื—ืจ ื‘ืชืžื•ืจื”, ื•ื”ืื—ืจื•ืŸ, ื‘ืชื•ืจื•, ืžืงื‘ืœ ืืช ื”ื—ืคืฅ ืฉืœ ื”ืจืืฉื•ืŸ ื•ืžื ื™ื— ืืช ืฉืœื•. ื›ืœื•ืžืจ, ื”ืฉืจืฉื•ืจ ื”ืจืืฉื•ืŸ ืžืฉืชืžืฉ ื‘ืฉื™ื˜ืช exchange() ื•ื”ื•ื ืœื ืคืขื™ืœ ืขื“ ืฉืจืฉื•ืจ ืื—ืจ ืงื•ืจื ืœืฉื™ื˜ืช exchange() ืขืœ ืื•ืชื• ืื•ื‘ื™ื™ืงื˜ ื•ื”ื—ืœืคืช ื ืชื•ื ื™ื ื‘ื™ื ื™ื”ื. ื›ื“ื•ื’ืžื”, ืฉืงื•ืœ ืืช ื”ื™ื™ืฉื•ื ื”ื‘ื ืฉืœ ืžื—ืœืงืช Thread :
public class CustomThread extends Thread {
 private String threadName;
 private String message;
 private Exchanger<String> exchanger;

 public CustomThread(String threadName, Exchanger<String> exchanger) {
   this.threadName = threadName;
   this.exchanger = exchanger;
 }

 public void setMessage(final String message) {
   this.message = message;
 }

 @Override
 public void run() {
   while (true) {
     try {
       message = exchanger.exchange(message);
       System.out.println(threadName + " ะฟะพั‚ะพะบ ะฟะพะปัƒั‡ะธะป ัะพะพะฑั‰ะตะฝะธะต: " + message);
       Thread.sleep(1000);
     } catch (Exception e) {
       e.printStackTrace();
     }
   }
 }
}
ื‘-thread constructor, ืื ื• ืžื’ื“ื™ืจื™ื ืื•ื‘ื™ื™ืงื˜ Exchanger ืฉืžืงื‘ืœ ืื•ื‘ื™ื™ืงื˜ื™ื ืžืกื•ื’ String , ื•ื‘ื”ืคืขืœื” (ื‘ืฉื™ื˜ืช run ) ืื ื• ืžืฉืชืžืฉื™ื ื‘-change() ืฉืœื• ื›ื“ื™ ืœื”ื—ืœื™ืฃ ื”ื•ื“ืขื” ืขื ืฉืจืฉื•ืจ ืื—ืจ ืฉืžืฉืชืžืฉ ื‘ืฉื™ื˜ื” ื–ื• ื‘ืื•ืชื• Exchanger . ื‘ื•ื ื ืจื™ืฅ ืืช ื–ื” ื‘- main :
Exchanger<String> exchanger = new Exchanger<>();
CustomThread first = new CustomThread("ะŸะตั€ะฒั‹ะน ", exchanger);
first.setMessage("ะกะพะพะฑั‰ะตะฝะธะต ะฟะตั€ะฒะพะณะพ ะฟะพั‚ะพะบะฐ");
CustomThread second = new CustomThread("ะ’ั‚ะพั€ะพะน", exchanger);
second.setMessage("ะกะพะพะฑั‰ะตะฝะธะต ะฒั‚ะพั€ะพะณะพ ะฟะพั‚ะพะบะฐ");
first.start();
second.start();
ื”ืงื•ื ืกื•ืœื” ืชืฆื™ื’:
ื”ืฉืจืฉื•ืจ ื”ืจืืฉื•ืŸ ืงื™ื‘ืœ ืืช ื”ื”ื•ื“ืขื”: ื”ื•ื“ืขื” ืžื”ืฉืจืฉื•ืจ ื”ืฉื ื™ ื”ืฉืจืฉื•ืจ ื”ืฉื ื™ ืงื™ื‘ืœ ืืช ื”ื”ื•ื“ืขื”: ื”ื•ื“ืขื” ืžื”ืฉืจืฉื•ืจ ื”ืจืืฉื•ืŸ ื”ืฉืจืฉื•ืจ ื”ืฉื ื™ ืงื™ื‘ืœ ืืช ื”ื”ื•ื“ืขื”: ื”ื•ื“ืขื” ืžื”ืฉืจืฉื•ืจ ื”ืฉื ื™ ื”ืฉืจืฉื•ืจ ื”ืจืืฉื•ืŸ ืงื™ื‘ืœ ืืช ื”ื”ื•ื“ืขื”: ื”ื•ื“ืขื” ืžื”ืฉืจืฉื•ืจ ื”ืจืืฉื•ืŸ ื”ืฉืจืฉื•ืจ ืงื™ื‘ืœ ืืช ื”ื”ื•ื“ืขื”: ื”ื•ื“ืขื” ืžื”ืฉืจืฉื•ืจ ื”ืจืืฉื•ืŸ ื”ืฉืจืฉื•ืจ ื”ืจืืฉื•ืŸ ืงื™ื‘ืœ ืืช ื”ื”ื•ื“ืขื”: ื”ื•ื“ืขื” ืžื”ืฉืจืฉื•ืจ ื”ืฉื ื™... .
ื”ืžืฉืžืขื•ืช ื”ื™ื ืฉื—ื™ืœื•ืคื™ ื ืชื•ื ื™ื ื‘ื™ืŸ ืฉืจืฉื•ืจื™ื ืžืฆืœื™ื—ื™ื.

112. ืžื” ื”ื”ื‘ื“ืœ ื‘ื™ืŸ ื”ืžื—ืœืงื” Thread ืœื‘ื™ืŸ ืžืžืฉืง Runnable?

ื”ื“ื‘ืจ ื”ืจืืฉื•ืŸ ืฉืืฆื™ื™ืŸ ื”ื•ื ืฉ- Thread ื”ื•ื ืžื—ืœืงื”, Runnable ื”ื•ื ืžืžืฉืง, ื•ื–ื” ื”ื‘ื“ืœ ืžืื•ื“ ื‘ืจื•ืจ =D ื ื™ืชื•ื— ืฉืืœื•ืช ื•ืชืฉื•ื‘ื•ืช ืžืจืื™ื•ื ื•ืช ืœืžืคืชื— Java.  ื—ืœืง 13 - 3ืื ื™ ื’ื ืื’ื™ื“ ืฉ- Thread ืžืฉืชืžืฉ ื‘-Runnable (ืงื•ืžืคื•ื–ื™ืฆื™ื”). ื›ืœื•ืžืจ, ื™ืฉ ืœื ื• ืฉืชื™ ื“ืจื›ื™ื:
  1. ื™ื•ืจืฉ ืž- Thread , ืขื•ืงืฃ ืืช ืฉื™ื˜ืช ื”ืจื™ืฆื”, ื•ืื– ืฆื•ืจ ืืช ื”ืื•ื‘ื™ื™ืงื˜ ื”ื–ื” ื•ื”ืชื—ืœ ืืช ื”ืฉืจืฉื•ืจ ื‘ืืžืฆืขื•ืช ื”ืžืชื•ื“ื” start() .

  2. ื™ื™ืฉื Runnable ื‘ืžื—ืœืงื” ืžืกื•ื™ืžืช, ื™ื™ืฉื ืืช ืฉื™ื˜ืช run() ืฉืœื• ื•ืœืื—ืจ ืžื›ืŸ ืฆื•ืจ ืื•ื‘ื™ื™ืงื˜ Thread , ื”ืงืฆืืช ื™ื™ืฉื•ื ืื•ื‘ื™ื™ืงื˜ ื–ื” ืฉืœ ืžืžืฉืง Runnable ืœื‘ื ืื™ ืฉืœื• . ื•ื‘ื›ืŸ, ื‘ืกื•ืฃ, ื”ืคืขืœ ืืช ืื•ื‘ื™ื™ืงื˜ Thread ื‘ืืžืฆืขื•ืช ืฉื™ื˜ืช start() .

ืžื” ืขื“ื™ืฃ? ื‘ื•ืื• ื ื—ืฉื•ื‘ ืงืฆืช:
  • ื›ืืฉืจ ืืชื” ืžื™ื™ืฉื ืืช ืžืžืฉืง ื”ื”ืคืขืœื” , ืืชื” ืœื ืžืฉื ื” ืืช ื”ืชื ื”ื’ื•ืช ื”ืฉืจืฉื•ืจ. ื‘ืขืฆื ืืชื” ืจืง ื ื•ืชืŸ ืœืฉืจืฉื•ืจ ืžืฉื”ื• ืœื”ืคืขื™ืœ. ื•ื–ื”ื• ื”ื”ืจื›ื‘ ืฉืœื ื•, ืฉื‘ืชื•ืจื• ื ื—ืฉื‘ ืœื’ื™ืฉื” ื˜ื•ื‘ื”.

  • ื™ื™ืฉื•ื Runnable ื ื•ืชืŸ ื™ื•ืชืจ ื’ืžื™ืฉื•ืช ืœื›ื™ืชื” ืฉืœืš. ืื ืืชื” ื™ื•ืจืฉ ืž- Thread , ืื– ื”ืคืขื•ืœื” ืฉืชื‘ืฆืข ืชืžื™ื“ ืชื”ื™ื” ื‘ืฉืจืฉื•ืจ. ืื‘ืœ ืื ืืชื” ืžื™ื™ืฉื Runnable ื–ื” ืœื ื—ื™ื™ื‘ ืœื”ื™ื•ืช ืจืง ืฉืจืฉื•ืจ. ืื—ืจื™ ื”ื›ืœ, ืืชื” ื™ื›ื•ืœ ืœื”ืคืขื™ืœ ืื•ืชื• ื‘ืฉืจืฉื•ืจ ืื• ืœื”ืขื‘ื™ืจ ืื•ืชื• ืœืฉื™ืจื•ืช executor ื›ืœืฉื”ื•. ื•ื‘ื›ืŸ, ืื• ืคืฉื•ื˜ ืœื”ืขื‘ื™ืจ ืืช ื–ื” ืื™ืคืฉื”ื• ื›ืžืฉื™ืžื” ื‘ืืคืœื™ืงืฆื™ื” ืขื ื—ื•ื˜ ื™ื—ื™ื“.

  • ื”ืฉื™ืžื•ืฉ ื‘- Runnable ืžืืคืฉืจ ืœืš ืœื”ืคืจื™ื“ ื‘ืื•ืคืŸ ื”ื’ื™ื•ื ื™ ื‘ื™ืŸ ื‘ื™ืฆื•ืข ืžืฉื™ืžื” ืœื‘ื™ืŸ ืœื•ื’ื™ืงื” ืฉืœ ื‘ืงืจืช ื—ื•ื˜ื™ื.

  • ื‘-Java, ืจืง ื™ืจื•ืฉื” ื‘ื•ื“ื“ืช ืืคืฉืจื™ืช, ื›ืš ืฉื ื™ืชืŸ ืœื”ืจื—ื™ื‘ ืจืง ืžื—ืœืงื” ืื—ืช. ื™ื—ื“ ืขื ื–ืืช, ืžืกืคืจ ื”ืžืžืฉืงื™ื ื”ื ื™ืชื ื™ื ืœื”ืจื—ื‘ื” ื”ื•ื ื‘ืœืชื™ ืžื•ื’ื‘ืœ (ื˜ื•ื‘, ืœื ืžืžืฉ ื‘ืœืชื™ ืžื•ื’ื‘ืœ, ืื‘ืœ 65535 , ืื‘ืœ ืœื ืกื‘ื™ืจ ืฉืชื’ื™ืขื• ืœืžื’ื‘ืœื” ื”ื–ื• ืื™ ืคืขื).

ื•ื‘ื›ืŸ, ื–ื” ืชืœื•ื™ ื‘ืš ืœื”ื—ืœื™ื˜ ื‘ืžื” ื‘ื“ื™ื•ืง ืขื“ื™ืฃ ืœื”ืฉืชืžืฉ ^^

113. ื™ืฉื ื ื—ื•ื˜ื™ื T1, T2 ื•-T3. ืื™ืš ืœื™ื™ืฉื ืื•ืชื ื‘ืจืฆืฃ?ื ื™ืชื•ื— ืฉืืœื•ืช ื•ืชืฉื•ื‘ื•ืช ืžืจืื™ื•ื ื•ืช ืœืžืคืชื— Java.  ื—ืœืง 13 - 4

ื”ื“ื‘ืจ ื”ืจืืฉื•ืŸ ื•ื”ืคืฉื•ื˜ ื‘ื™ื•ืชืจ ืฉืขื•ืœื” ื‘ืจืืฉ ื”ื•ื ืฉื™ืžื•ืฉ ื‘ืฉื™ื˜ืช join() . ื–ื” ืžืฉืขื” ืืช ื”ื‘ื™ืฆื•ืข ืฉืœ ื”ืฉืจืฉื•ืจ ื”ื ื•ื›ื—ื™ (ืฉื ืงืจื ื”ืฉื™ื˜ื”) ืขื“ ืฉื”ืฉืจืฉื•ืจ ืฉื‘ื• ื ืงืจืื” ื”ืฉื™ื˜ื” ื™ืกื™ื™ื ืืช ื”ื‘ื™ืฆื•ืข. ื‘ื•ืื• ื ื™ืฆื•ืจ ื™ื™ืฉื•ื ืฉืจืฉื•ืจ ืžืฉืœื ื•:
public class CustomThread extends Thread {
private String threadName;

 public CustomThread(final String  threadName){
   this.threadName = threadName;
 }

 @Override
 public void run() {
   System.out.println(threadName + " - ะฝะฐั‡ะฐะป ัะฒะพัŽ ั€ะฐะฑะพั‚ัƒ");
   try {
     // ะฟั€ะพะธัั…ะพะดะธั‚ ะฝะตะบะฐั ะปะพะณะธะบะฐ
     Thread.sleep(1000);
   } catch (InterruptedException e) {
     e.printStackTrace();
   }

   System.out.println(threadName + " - ะทะฐะบะพะฝั‡ะธะป ัะฒะพัŽ ั€ะฐะฑะพั‚ัƒ");
 }
}
ื‘ื•ืื• ื ืชื—ื™ืœ ืฉืœื•ืฉื” ืฉืจืฉื•ืจื™ื ื›ืืœื” ืื—ื“ ืื—ื“ ื‘ืืžืฆืขื•ืช join() :
CustomThread t1 = new CustomThread("ะŸะตั€ะฒั‹ะน ะฟะพั‚ะพะบ");
t1.start();
t1.join();
CustomThread t2 = new CustomThread("ะ’ั‚ะพั€ะพะน ะฟะพั‚ะพะบ");
t2.start();
t2.join();
CustomThread t3 = new CustomThread("ะขั€ะตั‚ะธะน ะฟะพั‚ะพะบ");
t3.start();
t3.join();
ืคืœื˜ ืžืกื•ืฃ:
ื”ื—ื•ื˜ ื”ืจืืฉื•ืŸ - ื”ืชื—ื™ืœ ืืช ืขื‘ื•ื“ืชื• ื”ื—ื•ื˜ ื”ืจืืฉื•ืŸ - ืกื™ื™ื ืืช ืขื‘ื•ื“ืชื• ื”ื—ื•ื˜ ื”ืฉื ื™ - ื”ืชื—ื™ืœ ืืช ืขื‘ื•ื“ืชื• ื”ื—ื•ื˜ ื”ืฉื ื™ - ืกื™ื™ื ืืช ืขื‘ื•ื“ืชื• ื”ื—ื•ื˜ ื”ืฉืœื™ืฉื™ - ื”ืชื—ื™ืœ ืืช ืขื‘ื•ื“ืชื• ื”ื—ื•ื˜ ื”ืฉืœื™ืฉื™ - ืกื™ื™ื ืืช ืขื‘ื•ื“ืชื•
ื–ื” ืื•ืžืจ ืฉื”ืฉืœืžื ื• ืืช ื”ืžืฉื™ืžื” ืฉืœื ื•. ืœืื—ืจ ืžื›ืŸ, ืื ื• ืขื•ื‘ืจื™ื ื™ืฉื™ืจื•ืช ืœืžืฉื™ืžื•ืช ืžืขืฉื™ื•ืช ื‘ืจืžืช ื”ื’'ื•ื ื™ื•ืจ .

ืžืฉื™ืžื•ืช ืžืขืฉื™ื•ืช

114. ืกื›ื•ื ืืœื›ืกื•ื ื™ ืžื˜ืจื™ืงืก (ื‘ืขื™ื™ืช Leetcode)

ืชื ืื™: ื—ืฉื‘ ืืช ืกื›ื•ื ื›ืœ ื”ืืœืžื ื˜ื™ื ื‘ืืœื›ืกื•ืŸ ื”ืจืืฉื™ ื•ื›ืœ ื”ืืœืžื ื˜ื™ื ื‘ืืœื›ืกื•ืŸ ื”ื ื•ืกืฃ ืฉืื™ื ื ื—ืœืง ืžื”ืืœื›ืกื•ืŸ ื”ืจืืฉื™. ื ื™ืชื•ื— ืฉืืœื•ืช ื•ืชืฉื•ื‘ื•ืช ืžืจืื™ื•ื ื•ืช ืœืžืคืชื— Java.  ื—ืœืง 13 - 51. ืขื ืžื˜ืจื™ืฆื” โ€‹โ€‹ืฉืœ ื”ืฆื•ืจื”: mat = [[1,2,3], [4,5,6], [7,8,9]] ื”ืคืœื˜ ืฆืจื™ืš ืœื”ื™ื•ืช - 25 2. ืขื ืžื˜ืจื™ืฆื” โ€‹โ€‹- mat = [[1,1 ,1,1], [1,1,1,1], [1,1,1,1], [1,1,1,1]] ื”ืคืœื˜ ืฆืจื™ืš ืœื”ื™ื•ืช - 8 3. ืขื a matrix - mat = [[ 5]] ื”ืžืกืงื ื” ืฆืจื™ื›ื” ืœื”ื™ื•ืช - 5 ื”ืฉื”ื” ืืช ื”ืงืจื™ืื” ื•ื™ื™ืฉื ืืช ื”ื”ื—ืœื˜ื” ืฉืœืš. ื”ืคืชืจื•ืŸ ืฉืœื™ ื™ื”ื™ื” ื”ื‘ื:
public static int countDiagonalSum(int[][] matrix) {
 int sum = 0;
 for (int i = 0, j = matrix.length - 1; i < matrix.length; i++, j--) {
   sum += matrix[i][i];
   if (j != i) {
     sum += matrix[i][j];
   }
 }
 return sum;
}
ื”ื›ืœ ืงื•ืจื” ื‘ืžืขื‘ืจ ืื—ื“ ื‘ืžืขืจืš, ืฉื‘ืžื”ืœื›ื• ื™ืฉ ืœื ื• ืฉื ื™ ืื™ื ื“ืงืกื™ื ืœื“ื•ื—: i - ืœื“ื™ื•ื•ื— ืขืœ ืฉื•ืจื•ืช ื”ืžืขืจืš ื•ื”ืขืžื•ื“ื•ืช ืฉืœ ื”ืืœื›ืกื•ืŸ ื”ืจืืฉื™, j - ืœื“ื™ื•ื•ื— ืขืœ ื”ืขืžื•ื“ื•ืช ืฉืœ ื”ืืœื›ืกื•ืŸ ื”ื ื•ืกืฃ. ืื ื”ืชื ืฉืœ ื”ืืœื›ืกื•ืŸ ื”ืจืืฉื™ ื•ื”ืชื ื”ื ื•ืกืฃ ืขื•ืœื™ื ื‘ืงื ื” ืื—ื“, ืื– ืžืชืขืœืžื™ื ืžืื—ื“ ื”ืขืจื›ื™ื ื‘ืขืช ื—ื™ืฉื•ื‘ ื”ืกื›ื•ื. ื‘ื•ืื• ื ื‘ื“ื•ืง ื‘ืืžืฆืขื•ืช ื”ืžื˜ืจื™ืฆื•ืช ืžื”ืชื ืื™:
int[][] arr1 = {
   {1, 2, 3},
   {4, 5, 6},
   {7, 8, 9}};
System.out.println(countDiagonalSum(arr1));

int[][] arr2 = {
   {1, 1, 1, 1},
   {1, 1, 1, 1},
   {1, 1, 1, 1},
   {1, 1, 1, 1}};
System.out.println(countDiagonalSum(arr2));

int[][] arr3 = {{5}};
System.out.println(countDiagonalSum(arr3));
ืคืœื˜ ืžืกื•ืฃ:
25 8 5

115. ื”ื–ื– ืืคืกื™ื (ืืชื’ืจ Leetcode)

ืชื ืื™: ื‘ืžืขืจืš ืฉืœืžื™ื, ื”ื–ื™ื–ื• ืืช ื›ืœ ื”-0 ืขื“ ื”ืกื•ืฃ, ืชื•ืš ืฉืžื™ืจื” ืขืœ ื”ืกื“ืจ ื”ื™ื—ืกื™ ืฉืœ ืืœืžื ื˜ื™ื ืฉืื™ื ื ืืคืก. 1. ืขื ืžืขืจืš: [0,1,0,3,12] ื”ืคืœื˜ ืฆืจื™ืš ืœื”ื™ื•ืช: [1,3,12,0,0] 2. ืขื ืžืขืจืš: [0] ื”ืคืœื˜ ืฆืจื™ืš ืœื”ื™ื•ืช: [0] ื”ืฉื”ื” ื•ื›ืชื•ื‘ ืืช ื”ื”ื—ืœื˜ื” ืฉืœื™... ื”ื”ื—ืœื˜ื” ืฉืœื™:
public static void moveZeroes(int[] nums) {
 int counterWithoutNulls = 0;
 int counterWithNulls = 0;
 int length = nums.length;
 while (counterWithNulls < length) {
   if (nums[counterWithNulls] == 0) {// ะฝะฐั…ะพะดะธะผ ะฝัƒะปะตะฒั‹ะต ัะปะตะผะตะฝั‚ั‹ ะธ ัƒะฒะตะปะธั‡ะธะฒะฐะตะผ ัั‡ั‘ั‚ั‡ะธะบ
     counterWithNulls++;
   } else { // ัะดะฒะธะณะฐะตะผ ัะปะตะผะตะฝั‚ั‹ ะฝะฐ ะบะพะปะธั‡ะตัั‚ะฒะพ ะฝะฐะนะดะตะฝะฝั‹ั… ะฝัƒะปะตะฒั‹ั… ัะปะตะผะตะฝั‚ะพะฒ ัะปะตะฒะฐ
     nums[counterWithoutNulls++] = nums[counterWithNulls++];
   }
 }
 while (counterWithoutNulls < length) {
   nums[counterWithoutNulls++] = 0;// ะทะฐะฟะพะปะฝัะตะผ ะฟะพัะปะตะดะฝะธะต ัะปะตะผะตะฝั‚ั‹ ะผะฐััะธะฒะฐ ะฝัƒะปัะผะธ ัะพะณะปะฐัะฝะพ ัั‡ั‘ั‚ั‡ะธะบัƒ ะฝัƒะปะตะน
 }
}
ื‘ึผึฐื“ึดื™ืงึธื”:
int[] arr1 = {1, 2, 0, 0, 12, 9};
moveZeroes(arr1);
System.out.println(Arrays.toString(arr1));

int[] arr2 = {0};
moveZeroes(arr2);
System.out.println(Arrays.toString(arr2));
ืคืœื˜ ืžืกื•ืฃ:
[1, 2, 12, 9, 0, 0] [0]

116. ื ืชื•ืŸ ืจืฉื™ืžื” <String> ืฉืžื•ืช. ื”ืกืจ ืืช ื”ืื•ืช ื”ืจืืฉื•ื ื” ืžื›ืœ ืฉื ื•ืกื•ื‘ื‘ ืืช ื”ืจืฉื™ืžื” ื”ืžืžื•ื™ื ืช

1. ื”ื“ื‘ืจ ื”ืจืืฉื•ืŸ ืฉืขื•ืœื” ืขืœ ื”ื“ืขืช ื”ื•ื ื”ืฉื™ื˜ื•ืช ืฉืœ ื”ืžื—ืœืงื” Collections , ื”ืžื›ื™ืœื” ืฉื™ื˜ื•ืช ืขื–ืจ ืจื‘ื•ืช ืœืื•ืกืคื™ื:
public static List<String> processTheList(List<String> nameList) {
 for (int i = 0; i < nameList.size(); i++) {
   nameList.set(i, nameList.get(i).substring(1));
 }
 Collections.sort(nameList);
 return nameList;
}
2. ื›ืžื• ื›ืŸ, ืื ืื ื—ื ื• ืžืฉืชืžืฉื™ื ื‘-Java ื’ืจืกื” 8 ื•ืžืขืœื”, ืื ื—ื ื• ืคืฉื•ื˜ ืฆืจื™ื›ื™ื ืœื”ืฆื™ื’ ืืช ื”ืคืชืจื•ืŸ ื‘ืืžืฆืขื•ืช ื–ืจืžื™ื:
public static List<String> processTheList(List<String> nameList) {
 return nameList.stream()
     .map(x -> x.substring(1))
     .sorted().collect(Collectors.toList());
}
ืœืœื ืงืฉืจ ืœืคืชืจื•ืŸ ื”ื ื‘ื—ืจ, ื”ื”ืžื—ืื” ืขืฉื•ื™ื” ืœื”ื™ื•ืช ื›ื“ืœืงืžืŸ:
List<String> nameList = new ArrayList();
nameList.add("John");
nameList.add("Bob");
nameList.add("Anna");
nameList.add("Dmitriy");
nameList.add("Peter");
nameList.add("David");
nameList.add("Igor");

System.out.println(processTheList(nameList));
ืคืœื˜ ืžืกื•ืฃ:
[avid, eter, gor, mitriy, nna, ob, ohn]

117. ื”ืคื•ืš ืืช ื”ืžืขืจืš

ืคืชืจื•ืŸ 1 ืฉื•ื‘, ื”ื“ื‘ืจ ื”ืจืืฉื•ืŸ ืฉืขื•ืœื” ืขืœ ื”ื“ืขืช ื”ื•ื ืœื”ืฉืชืžืฉ ื‘ืฉื™ื˜ื•ืช ืฉืœ ืžื—ืœืงืช ื”ืฉื™ืจื•ืช ื”ืขื–ืจ Collections . ืื‘ืœ ืžื›ื™ื•ื•ืŸ ืฉื™ืฉ ืœื ื• ืžืขืจืš, ืจืืฉื™ืช ืขืœื™ื ื• ืœื”ืžื™ืจ ืื•ืชื• ืœืื•ืกืฃ (ืจืฉื™ืžื”):
public static Integer[] reverse(Integer[] arr) {
 List<Integer> list = Arrays.asList(arr);
 Collections.reverse(list);
 return list.toArray(arr);
}
ืคืชืจื•ืŸ 2 ืžื›ื™ื•ื•ืŸ ืฉื”ืฉืืœื” ื”ื™ื™ืชื” ืขืœ ืžืขืจืš, ืื ื™ ื—ื•ืฉื‘ ืฉื™ืฉ ืฆื•ืจืš ืœื”ืฆื™ื’ ืืช ื”ืคืชืจื•ืŸ ืžื‘ืœื™ ืœื”ืฉืชืžืฉ ื‘ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืžื•ื›ื ื” ืžื—ื•ืฅ ืœืงื•ืคืกื”, ื•ื›ืš ืœื•ืžืจ, ืœืคื™ ื”ืงืœืืกื™ืงื”:
public static Integer[] reverse(Integer[] arr) {
 for (int i = 0; i < arr.length / 2; i++) {
   int temp = arr[i];
   arr[i] = arr[arr.length - 1 - i];
   arr[arr.length - 1 - i] = temp;
 }
 return arr;
}
ื‘ึผึฐื“ึดื™ืงึธื”:
Integer[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
System.out.println(Arrays.toString(reverse(arr)));
ืคืœื˜ ืžืกื•ืฃ:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

118. ื‘ื“ื•ืง ืื ืžื™ืชืจ ื”ื•ื ืคืœื™ื ื“ืจื•ื

ื ื™ืชื•ื— ืฉืืœื•ืช ื•ืชืฉื•ื‘ื•ืช ืžืจืื™ื•ื ื•ืช ืœืžืคืชื— Java.  ื—ืœืง 13 - 6ืคืชืจื•ืŸ 1 ื›ื“ืื™ ืœื–ื›ื•ืจ ืžื™ื“ ืืช StringBuilder : ื”ื•ื ื’ืžื™ืฉ ื™ื•ืชืจ ื•ืขืฉื™ืจ ื‘ืฉื™ื˜ื•ืช ืฉื•ื ื•ืช ื‘ื”ืฉื•ื•ืื” ืœ- String ืจื’ื™ืœ . ืื ื• ืžืชืขื ื™ื™ื ื™ื ื‘ืžื™ื•ื—ื“ ื‘ืฉื™ื˜ื” ื”ื”ืคื•ื›ื” :
public static boolean isPalindrome(String string) {
 string = string.toLowerCase(); //ะฟั€ะธะฒะพะดะธั‚ ะฒััŽ ัั‚ั€ะพะบัƒ ะบ ะฝะธะถะฝะตะผัƒ ั€ะตะณะธัั‚ั€ัƒ
 StringBuilder builder = new StringBuilder();
 builder.append(string);
 builder.reverse(); // ะฟะตั€ะตะฒะพั‡ะธะฒะฐะตะผ ัั‚ั€ะพะบัƒ ะผะตั‚ะพะดะพะผ Builder-ะฐ
 return (builder.toString()).equals(string);
}
ืคืชืจื•ืŸ: ื”ื’ื™ืฉื” ื”ื‘ืื” ืชื”ื™ื” ืœืœื ืฉื™ืžื•ืฉ ื‘"ืคืจืฆื•ืช" ืžื—ื•ืฅ ืœืงื•ืคืกื”. ืื ื• ืžืฉื•ื•ื™ื ืืช ื”ืชื•ื•ื™ื ืžื”ื—ืœืง ื”ืื—ื•ืจื™ ืฉืœ ื”ืžื—ืจื•ื–ืช ืขื ื”ืชื•ื•ื™ื ื”ืžืงื‘ื™ืœื™ื ืžืœืคื ื™ื:
public static boolean isPalindrome(String string) {
  string = string.toLowerCase();
 int length = string.length();
 int fromBeginning = 0;
 int fromEnd = length - 1;
 while (fromEnd > fromBeginning) {
   char forwardChar = string.charAt(fromBeginning++);
   char backwardChar = string.charAt(fromEnd--);
   if (forwardChar != backwardChar)
     return false;
 }
 return true;
}
ื•ืื ื—ื ื• ื‘ื•ื“ืงื™ื ืืช ืฉืชื™ ื”ื’ื™ืฉื•ืช:
boolean isPalindrome = isPalindrome("Tenet");
System.out.println(isPalindrome);
ืคืœื˜ ืžืกื•ืฃ:
ื ึธื›ื•ึนืŸ

119. ื›ืชื‘ื• ืืœื’ื•ืจื™ืชื ืžื™ื•ืŸ ืคืฉื•ื˜ (ื‘ื•ืขื”, ื‘ื—ื™ืจื” ืื• ืžืขื‘ื•ืจืช). ืื™ืš ืืคืฉืจ ืœืฉืคืจ?

ื‘ืชื•ืจ ืืœื’ื•ืจื™ืชื ืคืฉื•ื˜ ืœื™ื™ืฉื•ื, ื‘ื—ืจืชื™ ื‘ืžื™ื•ืŸ ื‘ื—ื™ืจื” - ืžื™ื•ืŸ ื‘ื—ื™ืจื”:
public static void selectionSorting(int[] arr) {
 for (int i = 0; i < arr.length - 1; i++) {
   int min = i;
   for (int j = i + 1; j < arr.length; j++) {
     if (arr[j] < arr[min]) {
       min = j; // ะฒั‹ะฑะธั€ะฐะตะผ ะผะธะฝะธะผะฐะปัŒะฝั‹ะน ัะปะตะผะตะฝั‚ ะฒ ั‚ะตะบัƒั‰ะตะผ ั‡ะธัะปะพะฒะพะผ ะพั‚ั€ะตะทะบะต
     }
   }
   int temp = arr[min]; // ะผะตะฝัะตะผ ะผะตัั‚ะฐะผะธ ะผะธะฝะธะผะฐะปัŒะฝั‹ะน ัะปะตะผะตะฝั‚ ั ัะปะตะผะตะฝั‚ะพะผ ะฟะพะด ะธะฝะดะตะบัะพะผ i
   arr[min] = arr[i]; // ั‚ะฐะบ How ะพั‚ั€ะตะทะพะบ ะฟะพัั‚ะพัะฝะฝะพ ัƒะผะตะฝัŒัˆะฐะตั‚ัั
   arr[i] = temp; // ะธ ะฒั‹ะฟะฐะดะฐัŽั‰ะธะต ะธะท ะฝะตะณะพ ั‡ะธัะปะฐ ะฑัƒะดัƒั‚ ะผะธะฝะธะผะฐะปัŒะฝั‹ะผะธ ะฒ ั‚ะตะบัƒั‰ะตะผ ะพั‚ั€ะตะทะบะต
 } // ะธ How ะธั‚ะพะณ - ั‡ะธัะปะฐ ะพัั‚ะฐะฒัˆะธะตัั ะฒะฝะต ั‚ะตะบัƒั‰ะตะน ะธั‚ะตั€ะฐั†ะธะธ ะพั‚ัะพั€ั‚ะธั€ะพะฒะฐะฝั‹ ะพั‚ ัะฐะผะพะณะพ ะฝะฐะธะผะตะฝัŒัˆะตะณะพ ะบ ะฑะพะปัŒัˆะตะผัƒ
}
ื”ื’ืจืกื” ื”ืžืฉื•ืคืจืช ืชื™ืจืื” ื›ืš:
public static void improvedSelectionSorting(int[] arr) {
 for (int i = 0, j = arr.length - 1; i < j; i++, j--) { // ั€ะฐััะผะฐั‚ั€ะธะฒะฐะตะผั‹ะน ะพั‚ั€ะตะทะพะบ ั ะบะฐะถะดะพะน ะธั‚ะตั€ะฐั†ะธะตะน
   // ะฑัƒะดะตั‚ ัƒะผะตะฝัŒัˆะฐั‚ัŒัั ั ะ”ะ’ะฃะฅ ัั‚ะพั€ะพะฝ ะฟะพ ะพะดะฝะพะผัƒ ัะปะตะผะตะฝั‚ัƒ
   int min = arr[i];
   int max = arr[i];
   int minIndex = i;
   int maxIndex = i;
   for (int n = i; n <= j; n++) { // ะฒั‹ะฑะธั€ะฐะตะผ min ะธ max ะฝะฐ ั‚ะตะบัƒั‰ะตะผ ะพั‚ั€ะตะทะบะต
     if (arr[n] > max) {
       max = arr[n];
       maxIndex = n;
     } else if (arr[n] < min) {
       min = arr[n];
       minIndex = n;
     }
   }
   // ะผะตะฝัะตะผ ะฝะฐะนะดะตะฝะฝั‹ะน ะผะธะฝะธะผะฐะปัŒะฝั‹ะน ัะปะตะผะตะฝั‚ ั ะฟะพะทะธั†ะธะธ ั ะธะฝะดะตะบัะพะผ min ะฝะฐ ะฟะพะทะธั†ะธัŽ ั ะธะฝะดะตะบัะพะผ i
   swap(arr, i, minIndex);

   if (arr[minIndex] == max) {// ัั€ะฐะฑะฐั‚ั‹ะฒะฐะตั‚, ะตัะปะธ ัะปะตะผะตะฝั‚ max ะพะบะฐะทะฐะปัั ัะผะตั‰ะตะฝ ะฟั€ะตะดั‹ะดัƒั‰ะตะน ะฟะตั€ะตัั‚ะฐะฝะพะฒะบะพะน -
     swap(arr, j, minIndex); // ะฝะฐ ัั‚ะฐั€ะพะต ะผะตัั‚ะพ min, ะฟะพัั‚ะพะผัƒ ั ะฟะพะทะธั†ะธะธ ั ะธะฝะดะตะบัะพะผ min ัะผะตั‰ะฐะตะผ ะตะณะพ ะฝะฐ ะฟะพะทะธั†ะธัŽ j
   } else {
     swap(arr, j, maxIndex); // ะฟั€ะพัั‚ะพะต ะพะฑะผะตะฝ ะผะตัั‚ะฐะผะธ ัะปะตะผะตะฝั‚ะพะฒ ั ะธะฝะดะตะบัะฐะผะธ max ะธ j
   }
 }
}

static int[] swap(int[] arr, int i, int j) {
 int temp = arr[i];
 arr[i] = arr[j];
 arr[j] = temp;
 return arr;
}
ื•ื‘ื›ืŸ, ื›ืขืช ืขืœื™ื ื• ืœื•ื•ื“ื ืื ื”ืžื™ื•ืŸ ื‘ืืžืช ื”ืฉืชืคืจ. ื‘ื•ืื• ื ืฉื•ื•ื” ื‘ื™ืฆื•ืขื™ื:
long firstDifference = 0;
long secondDifference = 0;
long primaryTime;
int countOfApplying = 10000;
for (int i = 0; i < countOfApplying; i++) {
 int[] arr1 = {234, 33, 123, 4, 5342, 76, 3, 65,
     3, 5, 35, 75, 255, 4, 46, 48, 4658, 44, 22,
     678, 324, 66, 151, 268, 433, 76, 372, 45, 13,
     9484, 499959, 567, 774, 473, 3, 32, 865, 67, 43,
     63, 332, 24, 1};
 primaryTime = System.nanoTime();
 selectionSorting(arr1);
 firstDifference += System.nanoTime() - primaryTime;

 int[] arr2 = {234, 33, 123, 4, 5342, 76, 3, 65,
     3, 5, 35, 75, 255, 4, 46, 48, 4658, 44, 22,
     678, 324, 66, 151, 268, 433, 76, 372, 45, 13,
     9484, 499959, 567, 774, 473, 3, 32, 865, 67, 43,
     63, 332, 24, 1};
 primaryTime = System.nanoTime();
 improvedSelectionSorting(arr2);
 secondDifference += System.nanoTime() - primaryTime;
}

System.out.println(((double) firstDifference / (double) secondDifference - 1) * 100 + "%");
ืฉื ื™ ื”ืžื™ื ื™ื ื”ืชื—ื™ืœื• ื‘ืื•ืชื• ืžื—ื–ื•ืจ, ื›ื™ ืื ื”ื™ื• ืœื•ืœืื•ืช ื ืคืจื“ื•ืช, ืžื™ื•ืŸ ื‘ืงื•ื“ ืœืžืขืœื” ื™ืจืื” ืชื•ืฆืื” ื’ืจื•ืขื” ื™ื•ืชืจ ืžืืฉืจ ืื ื”ื•ื ื”ื™ื” ืžืžื•ืงื ื‘ืžืงื•ื ื”ืฉื ื™. ื–ื” ื ื•ื‘ืข ืžื”ืขื•ื‘ื“ื” ืฉื”ืชื•ื›ื ื™ืช "ืžืชื—ืžืžืช" ื•ืื– ืขื•ื‘ื“ืช ืงืฆืช ื™ื•ืชืจ ืžื”ืจ. ืื‘ืœ ืื ื™ ื™ื•ืฆื ืงืฆืช ืžื”ื ื•ืฉื. ืœืื—ืจ ื—ืžืฉ ืจื™ืฆื•ืช ืฉืœ ื‘ื“ื™ืงื” ื–ื• ื‘ืงื•ื ืกื•ืœื”, ืจืื™ืชื™ ืขืœื™ื™ื” ื‘ื‘ื™ืฆื•ืขื™ื ื‘ -36.41006735635892% 51.46131097160771% 41.88918834013988% 48.09198070574371460% ืขื‘ื•ืจื™, 49% ื–ื” ืขื‘ื•ืจื™ ืชื•ืฆืื” ื˜ื•ื‘ื” ืœืžื“ื™. ื ื™ืชื•ื— ืฉืืœื•ืช ื•ืชืฉื•ื‘ื•ืช ืžืจืื™ื•ื ื•ืช ืœืžืคืชื— Java.  ื—ืœืง 13 - 7

120. ื›ืชื•ื‘ ืืœื’ื•ืจื™ืชื (ืจืฆืฃ ืคืขื•ืœื•ืช) ืœื—ื™ื‘ื•ืจ ืœื™ื˜ืจืœื™ ืžืกื•ื’ int ืขื ืœื™ื˜ืจืœื™ ืžืกื•ื’ ื‘ืช. ื”ืกื‘ืจ ืžื” ืงื•ืจื” ืœื–ื™ื›ืจื•ืŸ

  1. ืขืจืš ื‘ืชื™ื ืžื•ืžืจ ืœ-int. ืœื ื™ื•ืงืฆื” ืขื‘ื•ืจื• ื‘ื™ื™ื˜ 1 ืฉืœ ื–ื™ื›ืจื•ืŸ, ืืœื ื›ืžื• ื›ืœ ืขืจื›ื™ int - 4, ืื ื”ืขืจืš ื”ื–ื” ืขื“ื™ื™ืŸ ืœื ื ืžืฆื ื‘ืขืจื™ืžืช int. ืื ื™ืฉ, ืงื™ืฉื•ืจ ืืœื™ื• ืคืฉื•ื˜ ื™ืชืงื‘ืœ.

  2. ืฉื ื™ ืขืจื›ื™ int ื™ืชื•ื•ืกืคื• ื•ื”ืฉืœื™ืฉื™ ื™ืชืงื‘ืœ. ื™ื•ืงืฆื” ืขื‘ื•ืจื• ืงื˜ืข ื–ื™ื›ืจื•ืŸ ื—ื“ืฉ - 4 ื‘ืชื™ื (ืื• ืชืชืงื‘ืœ ื”ืคื ื™ื” ืžื—ืกื ื™ืช int ืœืขืจืš ื”ืงื™ื™ื).

    ื‘ืžืงืจื” ื–ื”, ื”ื–ื™ื›ืจื•ืŸ ืฉืœ ืฉื ื™ ืื™ื ื˜ืก ืขื“ื™ื™ืŸ ื™ื”ื™ื” ืชืคื•ืก, ื•ื”ืขืจื›ื™ื ืฉืœื”ื ื™ืื•ื—ืกื ื• ื‘ืขืจื™ืžืช ื”-ints, ื‘ื”ืชืืžื”.

ืœืžืขืฉื”, ื›ืืŸ ืžืกืชื™ื™ืžื•ืช ื”ืฉืืœื•ืช ื‘ืจืžืช ื”ื’'ื•ื ื™ื•ืจ ื‘ืจืฉื™ืžื” ืฉืœื ื•. ื”ื—ืœ ืžื”ืžืืžืจ ื”ื‘ื, ื ื‘ื™ืŸ ื‘ืขื™ื•ืช ื‘ืจืžื” ื”ื‘ื™ื ื•ื ื™ืช. ื‘ืจืฆื•ื ื™ ืœืฆื™ื™ืŸ ืฉืฉืืœื•ืช ื‘ืจืžื” ื‘ื™ื ื•ื ื™ืช ื ืฉืืœื•ืช ื’ื ืœืžืคืชื—ื™ื ื‘ืจืžืช ื”ืชื—ืœื” - ื’'ื•ื ื™ื•ืจ. ืื– ื”ื™ืฉืืจื• ืžืขื•ื“ื›ื ื™ื. ื•ื‘ื›ืŸ, ื–ื” ื”ื›ืœ ืœื”ื™ื•ื: ื ืชืจืื”!ื ื™ืชื•ื— ืฉืืœื•ืช ื•ืชืฉื•ื‘ื•ืช ืžืจืื™ื•ื ื•ืช ืœืžืคืชื— Java.  ื—ืœืง 13 - 8
ื—ื•ืžืจื™ื ื ื•ืกืคื™ื ื‘ืกื“ืจื”:
ื”ืขืจื•ืช
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION