минимальное количество столбцов, которые нужно удалить в матрице, чтобы сделать ее построчно лексикографически отсортированной

Кажется, я нашел ответ. Позвольте мне сказать, что я сделал простыми словами:

Предположим, что у меня есть два вида деятельности, activity1 и activity2, и я перемещаюсь из activity1 в activity2 (я сделал некоторые работы в activity2) и снова вернулся к активности 1 нажав на кнопку в действии1. Теперь на этом этапе я хотел вернуться к активности2, и я хочу увидеть свою активность2 в том же состоянии, когда я последний раз оставил activity2.

В приведенном выше сценарии я сделал то, что в манифесте, который я сделал некоторые изменения вроде этого:

<activity android:name=".activity2"
          android:alwaysRetainTaskState="true"      
          android:launchMode="singleInstance">
</activity>

И в действии1 на событии нажатия кнопки я сделал вот так:

Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
intent.setClassName(this,"com.mainscreen.activity2");
startActivity(intent);

И в Activity2 на событии нажатия кнопки, которое я сделал например:

Intent intent=new Intent();
intent.setClassName(this,"com.mainscreen.activity1");
startActivity(intent);

Теперь, что произойдет, все изменения, которые мы внесли в Activity2, не будут потеряны, и мы можем просмотреть activity2 в том же состоянии, что и ранее.

Я считаю, что это ответ, и это отлично работает для меня. Исправьте меня, если я ошибаюсь.

1
задан thebenman 24 March 2019 в 15:29
поделиться

1 ответ

Мы можем перебирать столбцы слева направо, выбирая те, чье включение не сделает текущую матрицу неинтересной. При правильном применении это займет время, линейное по размеру входных данных.

Ключевым фактом, поддерживающим этот алгоритм, является то, что, учитывая два интересных подмножества столбцов, мы можем добавить первый отсутствующий столбец из одного в другой, не делая его неинтересным.

0
ответ дан David Eisenstat 24 March 2019 в 15:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: