
Aragaer
16.09.2016
08:47:32
хотя можно опустить самые старшие буквы 'a

Rocket
16.09.2016
08:48:51
нельзя, поток тогда будет не выровнен

Aragaer
16.09.2016
08:48:51
хм. А ваще можно действительно сделать прямо потоком
не, я про окончание потока

Google

Rocket
16.09.2016
08:49:11

-
16.09.2016
08:49:18

Aragaer
16.09.2016
08:49:26
все 8)

-
16.09.2016
08:50:05
Проблему с окончанием потока можно решить записав в начале длинну бинарного потока в байтах.

Aragaer
16.09.2016
08:50:14
точнее он преобразовывает инт в трехбуквенную запись

Subbotin
16.09.2016
08:50:20
тогда это не поток

Aragaer
16.09.2016
08:50:26
начиная с младших разрядов
а можно сделать поток

Rocket
16.09.2016
08:50:41
по 64 бита = 0,5833333333333333
тоже не очень...
ну ок))))
по 14 бит, думаю, самое то )

Aragaer
16.09.2016
08:51:03
47 бит хорошо

Google

Rocket
16.09.2016
08:51:10
или по 47

-
16.09.2016
08:51:20
Тогда ввести символ окончания потока

Aragaer
16.09.2016
08:51:22
ну да, нужен какой-то признак окончания потока

-
16.09.2016
08:52:47
Либо в конце потока будем говорить, где именно он закончился.

Rocket
16.09.2016
08:53:00
26^10/2^47 = 1.00305254345
я чтото не то считаю?
эффективность ниже, зато никакого гемора с паддингом

Aragaer
16.09.2016
08:53:40
ща сделаю для потока
поток кончается EOF

Rocket
16.09.2016
08:55:06
ну, для 47 бит получается 5 лишних байт в крайнем случае
можно не заморачиваться
ща буду соображать как на питоне битовые сдвиги делать ))))

Aragaer
16.09.2016
08:56:20
эээ
так же, как у всех нормальных людей

O'Miay
16.09.2016
08:56:51
xor

Rocket
16.09.2016
08:56:58
» «

Aragaer
16.09.2016
08:57:01
>> и <<

Rocket
16.09.2016
08:57:42
давно я этого не делал )

O'Miay
16.09.2016
08:57:46
xor ecx, 2

Google

-
16.09.2016
09:00:42

Aragaer
16.09.2016
09:02:44
допишешь впереди еще 30 нулей и запишешь
ну да, надо знать длину получается

Rocket
16.09.2016
09:08:51
для 47 бит получается очень плохо
надо по 14 таки делать

-
16.09.2016
09:10:18
добить нулями слева
Допустим тебе осталось записать 1 бит. Если ты добьёшь его нулями, то как отличишь 00...01 от 1?

Rocket
16.09.2016
09:10:48
гхм...

Aragaer
16.09.2016
09:11:59
c 14 та же ботва на самом деле
полную длину знать нужно, или какой-то явный признак окончания всего ваапще

Rocket
16.09.2016
09:12:45
либо добивать исходные данные так, чтобы они были кратны по длинне
что я собственно и собираюсь сделать, по этому 14 бит лучше

Aragaer
16.09.2016
09:15:27
47 бит это почти 48, то есть 6 байт

Artem
16.09.2016
09:19:19
вы можете добавить заголовок из 2 символов, в котором напишете, сколько бит в последнем чанке значащие

Rocket
16.09.2016
09:20:04
могу

-
16.09.2016
09:20:30
Может тогда суффикс, где бы описывалось сколько значащих бит в предпоследнем чанке? Тогда можно передавать потоком

Aragaer
16.09.2016
09:20:45
а как отличить суффикс от потока?
о, можно сделать ваще красиво

-
16.09.2016
09:21:15
Поток же закрывается, не?

Aragaer
16.09.2016
09:21:41
47 бит помещаются в 10 букв, но не покрывают все возможные комбинации

Google

Aragaer
16.09.2016
09:21:58
можно сделать особую комбинацию, которая означает окончание потока

Artem
16.09.2016
09:22:04
можно и на кадры поток разделить
так-то

Aragaer
16.09.2016
09:22:24
zzzzzzzzzz например будет означать окончание потока - оно не помещается в 47 бит

Artem
16.09.2016
09:22:36
потом придете к какому-нибудь HDLC over Enigma

[Anonymous]
16.09.2016
09:22:53
Какие редакторы вы используете?

Aragaer
16.09.2016
09:23:44
емакс с ивил модом
поигрался, понял, что запутался с битиками и надо по-нормальному с тестами писать
был бы на работе, написал бы. А так лучше пойду с сыном в машинки играть

Admin
ERROR: S client not available

Aragaer
16.09.2016
09:30:18
2^47
25 23 24 13 07 24 23 07 12 20
то есть максимальное значение из 47 бит в виде букв это
zxynhyxhmu
точнее zxynhuxhmt
а все что сверх этого можно использовать для вских служебных вещей

Nobue
16.09.2016
10:16:16

Andrew
16.09.2016
10:32:59
Rodeo

O'Miay
16.09.2016
10:39:21
vim\

Farrux
16.09.2016
10:51:20
atom with vim-mode ?

Rocket
16.09.2016
10:52:28
заморочился ))))
def b26encode(input):
"""Encode the bytes-like object input using Base26 and return a string.
"""
if not isinstance(input, bytes):
raise TypeError('input must be bytes')
#pading
leftover = len(input) % 7
if leftover:
input = input + bytes(7 - leftover) # Don't use += !
# conv = BaseConverter(_b26alphabet).from_decimal
encoded = ''
for i in range(0, len(input), 7):
c = int.from_bytes(input[i: i + 7], 'big')
e = int2base(c >> 42) # bits 1 - 14
if len(e) < 3: e += _b26alphabet[0];
encoded += e
e = int2base((c >> 28) & 0x3fff) # bits 14 - 28
if len(e) < 3: e += _b26alphabet[0];
encoded += e
e = int2base((c >> 14) & 0x3fff) # bits 28 - 42
if len(e) < 3: e += _b26alphabet[0];
encoded += e
e = int2base(c & 0x3fff) # bits 42 - 56
if len(e) < 3: e += _b26alphabet[0];
encoded += e
return encoded


Rinat
16.09.2016
11:22:16
кто подскажет?
есть такая последовательность A
A[0] = 9 A[1] = 3 A[2] = 9
A[3] = 3 A[4] = 9 A[5] = 7
A[6] = 9
надо найти число которое встречается только один раз, т.е. в данном случае 7
вопрос как правильнее это сделать? элементы всегда нечетные числа

Google

Rinat
16.09.2016
11:22:47
я делал в лоб эту задачу

Arseny Bergman
16.09.2016
11:22:51
можно использовать хеш

Rinat
16.09.2016
11:22:54
def solution(A):
s = set()
for n, a in enumerate(A):
if a not in A[n+1:] and a not in s:
return a
else:
s.add(a)
но гы сложность выходит O(N**2)

Artem
16.09.2016
11:27:23
если можно использовать O(N) по памяти, то за O(N) по времени можно сделать, используя нечетность

Rinat
16.09.2016
11:28:27
еще подскажку кинь что почитать?

Artem
16.09.2016
11:28:44
подумай, как ты можешь использовать нечетность
идеи?

Rinat
16.09.2016
11:30:31
хз, только если умножать на 2? или складывать, получатся же четные числа

Dumitru
16.09.2016
11:34:40
O(N)

Artem
16.09.2016
11:35:27
можно и дикт, тогда и нечетность не используется
Выглядит так, как будто задачку неправильно запомнили

Dumitru
16.09.2016
11:36:00

Artem
16.09.2016
11:36:23
если все элементы повторяются произвольное количество раз, то в голову не приходит

Rinat
16.09.2016
11:36:28
я думаю 100% можно)) дайте наводку или кусок кода, чтобы понять

Artem
16.09.2016
11:36:32
нипаксорить

Rinat
16.09.2016
11:36:42
повторяются всегда четное количество раз
во

Artem
16.09.2016
11:36:47
а, лол
ну тогда все проще
почитай про битовые операции