C
Size: a a a
C
Ф
// compare tasksFromAPI ans tasks, add and delete delta
// search for added tasks
for _, latestTask := range latestTasksFromAPI {
var taskExists bool
for _, currentTask := range service.Tasks {
if latestTask.Data.ID == currentTask.Data.ID {
taskExists = true
break
}
}
if !taskExists {
... NEW TASK
}
}
// search for deleted tasks
for i, currentTask := range service.Tasks {
var taskExists bool
for _, latestTask := range latestTasksFromAPI {
if latestTask.Data.ID == currentTask.Data.ID {
taskExists = true
break
}
}
if !taskExists {
... DELETED TASK
}
}
Ф
// compare tasksFromAPI ans tasks, add and delete delta
// search for added tasks
for _, latestTask := range latestTasksFromAPI {
var taskExists bool
for _, currentTask := range service.Tasks {
if latestTask.Data.ID == currentTask.Data.ID {
taskExists = true
break
}
}
if !taskExists {
... NEW TASK
}
}
// search for deleted tasks
for i, currentTask := range service.Tasks {
var taskExists bool
for _, latestTask := range latestTasksFromAPI {
if latestTask.Data.ID == currentTask.Data.ID {
taskExists = true
break
}
}
if !taskExists {
... DELETED TASK
}
}
АЛ
Ф
Ф
RR
a-b
и b-a
- O(n), итого O(n*logn). Это лучше чем n^2.ВС
АЛ
// compare tasksFromAPI ans tasks, add and delete delta
// search for added tasks
for _, latestTask := range latestTasksFromAPI {
var taskExists bool
for _, currentTask := range service.Tasks {
if latestTask.Data.ID == currentTask.Data.ID {
taskExists = true
break
}
}
if !taskExists {
... NEW TASK
}
}
// search for deleted tasks
for i, currentTask := range service.Tasks {
var taskExists bool
for _, latestTask := range latestTasksFromAPI {
if latestTask.Data.ID == currentTask.Data.ID {
taskExists = true
break
}
}
if !taskExists {
... DELETED TASK
}
}
Ф
Ф
A🌚
AV
MA
с
Н
DK