def get_max_profit(stock):
p=stock[0]
max_profit=0
maxp=p
minp=p
for i in range(1,len(stock)):
p=min(p,stock[i])
profit=stock[i]-p
if profit>max_profit:
maxp=stock[i]
minp=p
max_profit=profit
return minp,maxp,max_profit
stock_prices = [310,315,275,295,260,270,290,230,255,250]
print(get_max_profit(stock_prices))
Эта программа в python3 может вернуть покупательную цену и отпускную цену, которая максимизирует прибыль, рассчитывается с учетом сложности времени O (n) и сложности пространства O (1).
SVN версии 1.5 поддерживает удаление / удаление файла из репозитория без потери локального файла
, взятого из http://subversion.tigris.org/svn_1.5_releasenotes. html
Новая опция --keep-local сохраняет путь после удаления ..
Delete (remove) теперь использует параметр --keep-local для локального сохранения своих целей, поэтому пути не будут удалены, даже если они не были изменены.
я там f я принимаю решение никогда не фиксировать файл, у меня всегда есть "грязный" контроль - я недоволен.
Относительно этой конкретной точки, Вы могли бы хотеть к .gitignore
, файл как другой предложил, или использовать схему как та, описанная в этот ответ мой.
Можно исключить файлы из подрывной деятельности с глобальным - игнорируют установку
http://svnbook.red-bean.com/en/1.1/ch07.html#svn-ch-7-sect-1.3.2
, проверяют документацию для деталей
Насколько я знаю, что нет никакого простого способа удалить добавленный файл из управления версиями в svn, как только это фиксируется.
необходимо будет сохранить файл где-то в другом месте и удалить его из управления версиями. Чем копия резервное копирование назад снова.
Это - система управления версиями после всех...;)
Для SVN можно вернуться файлы, которые Вы еще не фиксировали. В TortoiseSVN Вы просто щелкаете правой кнопкой по файлу в окне фиксации и выбираете Revert...
На svn использования командной строки возвращаются [файл]
, не знают о МЕРЗАВЦЕ, так как я никогда не использовал его.
Для удаления файла полностью из репозитория мерзавца (Говорят, Вы фиксировали файл с паролем в нем, или случайно фиксировали временные файлы)
git filter-branch --index-filter 'git update-index --remove filename' HEAD
Тогда, я думаю, что необходимо фиксировать и продвинуть-f, если это находится в удаленных ответвлениях (помните, что людей могло бы раздражать, если Вы начинаете изменять историю репозитория.. и если они вытянули от Вас прежде, у них мог бы все еще быть файл)
Ищите svn:ignore и .gitignore - эти функции позволяют Вам иметь дополнительные файлы в своем контроле, которые проигнорированы Вашим RCS (при выполнении операции "состояния" или безотносительно).
Для определенных для машины файлов конфигурации, хороший вариант состоит в том, чтобы зарегистрироваться в файле, названном с дополнительным ".sample" расширением, т.е. config.xml.sample
. Отдельные разработчики сделали бы копию этого файла в config.xml
и настроили бы его для их системы. С svn:ignore или .gitignore можно удостовериться, что неимеющее версию config.xml
файл не обнаруживается как грязное все время.
В ответ на Ваше редактирование: Если Вы удалите файл из репозитория теперь, то Ваши разработчики получат конфликт в следующий раз, когда они делают обновление (предполагающий, что они все изменили файл для своей системы). Они не потеряют свои локальные изменения, они будут восстанавливаемыми от где-нибудь. Если они, окажется, не внесли какие-либо локальные изменения, то их файл конфигурации исчезнет, но они могут просто повторно получить предыдущий из управления исходным кодом и использования это.
Это кажется, что Вы уже добавили и передали файл подрывной деятельности (я предполагаю, что Вы используете Подрывную деятельность). Если это так, тогда существует только два способа удалить тот файл:
svnadmin dump
, отфильтровывают пересмотр, где Вы случайно фиксировали файл, и выполните svnadmin load
. Доверяют мне, Вы действительно не хотите делать номер 2. Это будет делать недействительным все рабочие копии репозитория. Лучшее должно сделать номер 1, отметить файл, как проигнорировано и принести извинения.
Не попробовав его...
В мерзавце, если Ваши изменения не были распространены в другой репозиторий, Вы должны быть в состоянии к git rm
затронутый файл (файлы), git rebase --interactive
для переупорядочения фиксации удаления, чтобы быть сразу после фиксации, в которой Вы случайно добавили незаконные файлы, и затем давите те две фиксации вместе.
, Конечно, это не поможет, если кто-то еще вытянул Ваши изменения.
Если Вы случайно 'добавляете' файл в svn & Вы не фиксировали его, можно вернуться тот файл & это удалит добавление.
Удалить файл уже в управлении исходным кодом:
git rm <filename>
и затем
git commit -m ...
необходимо добавить каждый файл, который Вы хотите проигнорировать в .gitignore файл. Я дополнительно всегда проверяю .gitignore файл в свой репозиторий, поэтому если кто-то проверит код его машины, и файл сгенерирован снова, он не будет 'рассматривать' его как 'грязный'.
, Конечно, если бы Вы уже фиксировали файл и кто-то еще получил Ваши изменения на другой машине, необходимо было бы изменить каждый локальный репозиторий для изменения истории. По крайней мере, это - возможное решение с мерзавцем. Я не думаю, что svn позволил бы Вам сделать это.
, Если файл уже находится на главном репозитории (мерзавец) или в сервере (svn), я не думаю, что существует лучшее решение, чем просто удаление файла в другой фиксации.
В Git, чтобы удалить его из дерева, но НЕ из рабочего каталога, что, я думаю, именно то, что вам нужно, вы можете использовать флаг --cached, то есть:
git rm --cached <filename>