Улучшение моего жадного алгоритма -- java поле с участием arrays пол Связанный проблема

Improving my greedy Algorithm


1
vote

проблема

русский

** Это мой код, который выглядит способ найти сумму в массиве **

 <код>      public class Piecedemonei {         public static void recherche(int[] tab) {                 int num;                 int quo;                  for (int i = 0; i <= tab.length - 1; i++) {    int somme = 18;                     System.out.println("Solution  " + i);                      for (int j = i; j < tab.length; j++){                           if (tab[j] <= somme) {                              num = somme / tab[j];                             System.out.print(num+"*" + " " + tab[j]);                             System.out.println(" ");                              somme -= num * tab[j];         j=0;                         }                    }             }             }                 public static void main(String[] args) {                 int aba[] = { 7, 6, 4, 5 };                 recherche(aba);                 System.out.println();              }          }   

<Сильные> Выход

 <код> Solution  0 2 7 + 1 4 Solution  1 Solution  2 Solution  3   

** Я ищу способ улучшить свой код, чтобы вывод выглядела так: **

 <код>  Solution  0 2*7 + 1*4 Solution  1 3*6 Solution  2 4*4 + 1*4 Solution  3   

** Почему я не могу сбросить свой цикл, чтобы она снова и снова и снова? **

Английский оригинал

**This is my code that look a way to find a sum in an array **

     public class Piecedemonei {         public static void recherche(int[] tab) {                 int num;                 int quo;                  for (int i = 0; i <= tab.length - 1; i++) {    int somme = 18;                     System.out.println("Solution  " + i);                      for (int j = i; j < tab.length; j++){                           if (tab[j] <= somme) {                              num = somme / tab[j];                             System.out.print(num+"*" + " " + tab[j]);                             System.out.println(" ");                              somme -= num * tab[j];         j=0;                         }                    }             }             }                 public static void main(String[] args) {                 int aba[] = { 7, 6, 4, 5 };                 recherche(aba);                 System.out.println();              }          } 

Output

Solution  0 2 7 + 1 4 Solution  1 Solution  2 Solution  3 

**I am looking a way to improve my code so that the output looks like this : **

 Solution  0 2*7 + 1*4 Solution  1 3*6 Solution  2 4*4 + 1*4 Solution  3 

**Why cant I reset my loop so that it does the same thing again and again ? **

</div
     
       
       

Список ответов

0
 
vote
vote
Лучший ответ
 

Изменить

 <код> CREATE7  

к

 <код> CREATE8  

Обратите внимание на <код> CREATE9 во внутренней петле.

 

Change

int somme = 18; for (int i = 0; i <= tab.length - 1; i++) {     System.out.println("Solution  " + i);      for (int j = 0; j < tab.length; j++){     ... 

to

for (int i = 0; i <= tab.length - 1; i++) {     int somme = 18;     System.out.println("Solution  " + i);      for (int j = i; j < tab.length; j++) {     ... 

Notice the int j = i in the inner loop.

</div
 
 
   
   

Связанный проблема

0  ConstanaintValidator - сделать JPA сделать проверку после ввода  ( Constraintvalidator make jpa make the validation after input ) 
Можно ли сделать JPA проверить вход сразу после типов пользователей в чем-либо? Я использую EclipseLink. Я не хочу ждать, пока JPA сохраняется для проверк...

0  Basic Echo Server, отношения клиент-сервера  ( Basic echo server client server relationship ) 
Так как мой проект, который мне пришлось написать класс клиента и простой класс серверов, который будет эхом сообщение, написанным клиентом. По какой-то при...

1  Как увеличить предел параллельного соединения OpenFire?  ( How to increase openfire concurrent connection limit ) 
Я пытаюсь проверить, сколько одновременных пользовательских подключений Openfire может обрабатывать. Я заметил предел при 4000 пользователями. Как я могу ...

0  Java нерешенная переменная JPanel?  ( Java unresolved jpanel variable ) 
Почему не может <код> aniPanel быть разрешена в переменной. Я пробовал <код> AniPanel aniPanel = new AniPanel(); Но это не решает проблему. Я также по...

1  Eclipse IDE отключается часто  ( Eclipse ide shuts down frequently ) 
Я пытался использовать SDK SDK SDK 22.3.0-887826, чтобы узнать о Develeopment Android, однако IDE отключается часто. Это происходит много, но в основном при и...

4  Как полностью квалифицировать класс, имя пакета которого сталкивается с местным именем члена?  ( How to fully qualify a class whose package name collides with a local member nam ) 
ОК, вот очень любопытная языковая головоломка Java 7 для специалистов JLS там. Следующий кусок кода не скомпилируется, ни с Javac, ни с Eclipse: <код> ...

56  Когда использовать явное ожидание против неявного ожидания в Webdriver Selenium?  ( When to use explicit wait vs implicit wait in selenium webdriver ) 
Я использую: <код> driver.manage().timeouts().implicitlyWait(180, TimeUnit.SECONDS); Но он все еще непрерывно не работает для нижеизведанного элемента ...

1  Кварц Schdeuler для нескольких проектов в JBOSS 5  ( Quartz schdeuler for multiple projects in jboss 5 ) 
Я развернул два проекта (P1 & AMP; P2) в JBOSS 5. Оба проекта настроены с различными кварцевыми планировщиками. Но когда я заплатурую работу на P1, он доступа...

1  Обратитесь к веб-странице внутри файла JAR  ( Refer to a web page inside a jar file ) 
У меня есть рабочий проект. Он включает в себя другой проект, который имеет дело с отдыхом как REST-API.jar. Теперь я сделал одностраничное интернет-интерфе...

1  Простое Javaee HTML Get / Post Application  ( Simple javaee html get post application ) 
Я просто начинаю с Javaee (я вполне свободно владею в Javase), и у меня возникли проблемы с обездованием моего мозга вокруг всех новых вещей, которые необходи...

1  WebView loaddatawithbaseurl java.lang.nullpointerexception  ( Webview loaddatawithbaseurl java lang nullpointerexception ) 
<код> //. . . public class MainActivity extends Activity { //. . . @Override protected void onCreate( Bundle savedInstanceState ) { //....

105  Почему C # реализует методы как не виртуальные по умолчанию?  ( Why c sharp implements methods as non virtual by default ) 
В отличие от Java, почему C # методы лечения как не виртуальные функции по умолчанию? Скорее всего, это проблема производительности, а не на других возможных ...

0  Чехол для тестирования, где нуль должен быть возвращен с помощью RestController с Mockito Change  ( Testing case where null should be returned using restcontroller with mockito fai ) 
Я хочу проверить корпус NullPointexception, который следует бросить контроллер, который я проверяю, но я всегда получаю ошибку NullPointexception. Я пытаюсь п...

12  Способ вызова в EJB на jboss запустить [дубликат]  ( Call method in ejb on jboss startup ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

-2  В классе F250.java есть две петли, которые не будут работать  ( There are two loops in the f250 java class that wont run ) 
Класс F250.java - это объект оружия, и есть два метода, которые привлекают и обновляют пули, выходящие из пистолета. Я сделал класс пули и сделал массив пули ...

Связанный проблема

0  ConstanaintValidator - сделать JPA сделать проверку после ввода 
0  Basic Echo Server, отношения клиент-сервера 
1  Как увеличить предел параллельного соединения OpenFire? 
0  Java нерешенная переменная JPanel? 
1  Eclipse IDE отключается часто 
4  Как полностью квалифицировать класс, имя пакета которого сталкивается с местным именем члена? 
56  Когда использовать явное ожидание против неявного ожидания в Webdriver Selenium? 
1  Кварц Schdeuler для нескольких проектов в JBOSS 5 
1  Обратитесь к веб-странице внутри файла JAR 
1  Простое Javaee HTML Get / Post Application 
1  WebView loaddatawithbaseurl java.lang.nullpointerexception 
105  Почему C # реализует методы как не виртуальные по умолчанию? 
0  Чехол для тестирования, где нуль должен быть возвращен с помощью RestController с Mockito Change 
12  Способ вызова в EJB на jboss запустить [дубликат] 
-2  В классе F250.java есть две петли, которые не будут работать