VoV@

VoV@
Рейтинг
196
Регистрация
22.09.2007
Должность
Окупация
Интересы
Программирование

Add the styles from a link:

outline: none;

TST-master:
Ведь нет агитации, верно?

А почему её не должно быть?

Зачем тогда вообще эта суета с всеобщим голосованием?

Самый оптимальный вариант:

1. Депутат Иванов от СР (или Партии Любителей Пива, не суть) выдвинул предложение изменить главный закон следующим образом "..."

2. Изменения приняты в первом чтении, 495 - За, 12 - Против, 2 - Воздержались.

И не надо людей от дачи и приусадебных участков отвлекать, деньги тратить. Все в шоколаде.

ЗЫ Чтобы не офтопить, а чо не жениться-то? Да легко ☝

TST-master:
вроде как голосование по Конституции предлагает немного подвинуть РФ со стороны светского государство в сторону религиозного... ненавязчивыми такими кричаще-орущими изменениями...146%...
Добро пожаловать ... в каменный век, женщина...

Вас в новостные издания не приглашают работать? Или вы там уже работаете?

Начали с "вроде как", закончили "146%" - это напоминает карикатуру "учёный изнасиловал журналиста".

danforth:
За сколько у вас отработал ваш код на данном файле?

У меня из раза в раз показывает разное время, то <=110ms, то <= 240ms.

---------- Добавлено 15.06.2020 в 13:41 ----------

danforth:
можно читать и по чуть-чуть распаковывать, попутно высвобождая память.

Мой код так и работает.

Danforth:
For how much you have worked for your code to this file?

I have from time to time shows a different time, then <= 110ms, then <= 240ms.

---------- Posted 15.06.2020 at 13:41 ----------

Danforth:
you can read and decompress a little, simultaneously freeing up memory.

My code works well.

Вот решил простым перебором:


using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace Searchengines
{
class Program
{

static void Main(string[] args)
{
var _sourceArrayItem = new List<char>();
var canRead = false;
var firstAppend = true;

using var sr = new StreamReader($"{Environment.CurrentDirectory}\\task-1.json");
using var sw = new FileStream($"{Environment.CurrentDirectory}\\result.json", FileMode.OpenOrCreate);

var terminalSymbol = Encoding.Default.GetBytes("["); sw.Write(terminalSymbol, 0, terminalSymbol.Length);

while (sr.Peek() >= 0)
{
var symbol = (char)sr.Read();
if (symbol == '{' || canRead)
{
_sourceArrayItem.Add(symbol);
canRead = true;
}
if (symbol == '}')
{
var item = new string(_sourceArrayItem.ToArray());
var parsedItem = JsonConvert.DeserializeObject<TaskItem>(item);

if (parsedItem.Scores > 0.7)
{
item = firstAppend ? item : $",{item}";
var buffer = Encoding.Default.GetBytes(item);
sw.Write(buffer, 0, buffer.Length);
sw.Flush();

firstAppend = false;
}

_sourceArrayItem = new List<char>();
canRead = false;
}
}

terminalSymbol = Encoding.Default.GetBytes("]");
sw.Write(terminalSymbol, 0, terminalSymbol.Length);
sw.Close();
}

public class TaskItem
{
public int Id { get; set; }
public double Scores { get; set; }
}
}
}

Если не грузить сразу в память всё, то ИМХО, только и перебором символов получится.

That's decided to simple search:


using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace searchengines
{
class Program
{

static void Main (string [] args)
{
var _sourceArrayItem = new List <char> ();
var canRead = false;
var firstAppend = true;

using var sr = new StreamReader ($ "{Environment.CurrentDirectory} \\ task-1.json");
using var sw = new FileStream ($ "{Environment.CurrentDirectory} \\ result.json", FileMode.OpenOrCreate);

var terminalSymbol = Encoding.Default.GetBytes ( "["); sw.Write (terminalSymbol, 0, terminalSymbol.Length);

while (sr.Peek ()> = 0)
{
var symbol = (char) sr.Read ();
if (symbol == '{' || canRead)
{
_sourceArrayItem.Add (symbol);
canRead = true;
}
if (symbol == '}')
{
var item = new string (_sourceArrayItem.ToArray ());
var parsedItem = JsonConvert.DeserializeObject <TaskItem> (item);

if (parsedItem.Scores> 0.7)
{
item = firstAppend? item: $ ", {item}";
var buffer = Encoding.Default.GetBytes (item);
sw.Write (buffer, 0, buffer.Length);
sw.Flush ();

firstAppend = false;
}

_sourceArrayItem = new List <char> ();
canRead = false;
}
}

terminalSymbol = Encoding.Default.GetBytes ( "]");
sw.Write (terminalSymbol, 0, terminalSymbol.Length);
sw.Close ();
}

public class TaskItem
{
public int Id {get; set; }
public double Scores {get; set; }
}
}
}

If you do not ship directly into the memory of all, IMHO, only brute force and character work.

Мне на "13" везёт обычно.

И не важно, что это: время, дата, количество или простор номер где-то.

Всего: 7155