- Executores
-
Aprender
Aprender Python Exemplos executáveis, NumPy, pandas e mais Aprender IARedes neurais, ML e LLMs do zero Aprender C e C++ Ponteiros, memória, STL e C++ moderno Aprender C#Fundamentos, POO, LINQ, async e exercícios .NET Aprender MatplotlibGráficos de linha, barras, dispersão e pizza com visualizadores Algoritmos em Python Busca, ordenação, recursão e visualizações O(n) Algoritmos em C e C++ Compare implementações em C e C++ Programação para crianças Aprenda a programar brincando!
- DesafiosNovo
- Para professoresNovo
- Atualizações
- Me pague um café
Em vez de uma fórmula, treine a reta y = w × x + b com descida do gradiente em lote sobre o erro quadrático médio MSE = Σ(w × x + b - y)² / n.
Comece com w = 0 e b = 0. Em cada época, usando todos os pontos:
- errorᵢ = w × xᵢ + b - yᵢ
- dw = (2 / n) × Σ errorᵢ × xᵢ e db = (2 / n) × Σ errorᵢ
- w ← w - learning_rate × dw e b ← b - learning_rate × db (ambos calculados com os mesmos erros)
Implemente train_linear_regression(xs, ys, learning_rate, epochs).
Entrada
xs, ys: Os pontos de dados (mesmo tamanho).
learning_rate, epochs: O tamanho do passo e o número de atualizações.
Saída
Retorne [w, b] após o treinamento.
Restrições
1 ≤ número de pontos ≤ 1.000, 0 ≤ epochs ≤ 10.000
0 < learning_rate ≤ 1
-100 ≤ cada valor ≤ 100
Exemplos
Exemplo 1
Entrada:
xs = [1.0, 2.0]
ys = [2.0, 4.0]
learning_rate = 0.1
epochs = 1
Saída esperada:
[1.0, 0.6]
Explicação
Com w = b = 0, os erros são -2 e -4. dw = (2 / 2) × (-2×1 - 4×2) = -10 e db = (2 / 2) × (-2 - 4) = -6, então w = 0 - 0.1 × (-10) = 1 e b = 0 - 0.1 × (-6) = 0.6. Resultado: [1, 0.6].
Exemplo 2
Entrada:
xs = [1.0, 2.0, 3.0]
ys = [3.0, 5.0, 7.0]
learning_rate = 0.05
epochs = 2000
Saída esperada:
[2.0, 1.0]
Explicação
Os dados estão sobre y = 2x + 1. Depois de 2.000 épocas, a descida do gradiente convergiu para w = 2 e b = 1, a mesma resposta da fórmula de mínimos quadrados.
Referências
-
Exemplo 1 Não executadoEntrada:
xs = [1.0, 2.0] ys = [2.0, 4.0] learning_rate = 0.1 epochs = 1Saída esperada:[1.0, 0.6]Sua saída -
Exemplo 2 Não executadoEntrada:
xs = [1.0, 2.0, 3.0] ys = [3.0, 5.0, 7.0] learning_rate = 0.05 epochs = 2000Saída esperada:[2.0, 1.0]Sua saída
4 testes ocultos também serão executados ao enviar. Se seu código falhar em um, você verá esse teste. Resolva o desafio para ver todos.
Online Java Compiler
Write, compile, run, and debug Java code online in a full-featured browser IDE. Work with multiple files, save your workspace, and share or collaborate in real time - no setup required.
🚀 260,408 execuções totais (5,854 este mês)
Pratique Java com desafios de código
Resolva problemas práticos direto neste editor: rode os testes de exemplo, envie sua solução e receba uma revisão de código por IA.
☕ Sobre este Executor Java Online
O CodeUtility Java Executor permite escrever e executar programas Java diretamente no seu navegador - sem instalação, configuração de JDK ou IDE. É alimentado por um sandbox seguro que oferece suporte a versões reais do ambiente de execução Java 8, 11, 17, 21 e a mais recente.
Esta ferramenta compila e executa código Java na nuvem usando um compilador javac real e um ambiente de execução Java,
para que você possa testar classes, métodos e lógica exatamente como se comportariam localmente.
Seja para praticar programação orientada a objetos, se preparar para entrevistas ou testar trechos antes da integração, o CodeUtility Java Executor oferece um ambiente rápido e confiável para executar código Java real instantaneamente de qualquer dispositivo.
Mais do que um executor de código
Use no mesmo executor um editor de vários arquivos, um terminal de execução isolado, bibliotecas específicas do ambiente, espaços de trabalho persistentes, compartilhamento e colaboração em tempo real.
Como usar este executor?
Escolha um ambiente de execução, abra ou crie um arquivo, escreva o código e selecione Executar. A saída aparece no terminal; usuários conectados podem manter arquivos em um espaço de trabalho, instalar bibliotecas e colaborar por meio de compartilhamentos.
- Selecione uma versão e edite o arquivo atual ou abra outro arquivo do espaço de trabalho.
- Execute o código, forneça dados no terminal quando solicitado e consulte o histórico de execuções salvo.
- Use bibliotecas, ferramentas do espaço de trabalho, compartilhamento e chat quando a tarefa exigir mais de um trecho de código.
💡 Noções básicas de Java e exemplos que você pode testar acima
1. Declarando variáveis e constantes
Java exige que você declare o tipo de cada variável. Use final para constantes.
int age = 30;
double pi = 3.14159;
char grade = 'A';
String name = "Alice";
boolean isActive = true;
// Constantes
final int MAX_USERS = 100;
final String COMPANY = "CodeUtility";
2. Condicionais (if / switch)
Use if, else if e switch para controle de fluxo.
int x = 2;
if (x == 1) {
System.out.println("Um");
} else if (x == 2) {
System.out.println("Dois");
} else {
System.out.println("Outro");
}
switch (x) {
case 1:
System.out.println("Um");
break;
case 2:
System.out.println("Dois");
break;
default:
System.out.println("Outro");
}
3. Laços
Use for, while e do-while para iteração.
for (int i = 0; i < 3; i++) {
System.out.println(i);
}
int n = 3;
while (n > 0) {
System.out.println(n);
n--;
}
4. Arrays
Arrays armazenam sequências de tamanho fixo do mesmo tipo.
int[] numbers = {10, 20, 30};
System.out.println(numbers[1]);
5. Manipulação de ArrayList
Use ArrayList para listas de tamanho dinâmico.
import java.util.ArrayList;
ArrayList<Integer> nums = new ArrayList<>();
nums.add(1);
nums.add(2);
nums.add(3);
nums.remove(Integer.valueOf(2));
for (int num : nums) {
System.out.print(num + " ");
}
6. Entrada/Saída no console
Use Scanner para entrada e System.out para saída.
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
System.out.print("Digite seu nome: ");
String name = scanner.nextLine();
System.out.println("Olá, " + name);
7. Funções
Defina métodos com tipos de retorno e parâmetros.
public static int add(int a, int b) {
return a + b;
}
System.out.println(add(3, 4));
8. HashMaps
Use HashMap para armazenamento chave-valor.
import java.util.HashMap;
HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
System.out.println(ages.get("Alice"));
9. Tratamento de exceções
Use try e catch para lidar com exceções em tempo de execução.
try {
throw new Exception("Algo deu errado");
} catch (Exception e) {
System.out.println(e.getMessage());
}
10. E/S de arquivos
Use Files e Paths de java.nio.file para manipulação de arquivos.
import java.nio.file.*;
import java.io.IOException;
Files.writeString(Paths.get("file.txt"), "Olá, arquivo");
String content = Files.readString(Paths.get("file.txt"));
System.out.println(content);
11. Manipulação de strings
As strings em Java suportam vários métodos como length(), substring() e contains().
String text = "Olá, Mundo";
System.out.println(text.length());
System.out.println(text.substring(0, 5));
System.out.println(text.contains("Mundo"));
12. Classes e objetos
Java dá suporte à programação orientada a objetos usando classes e instâncias.
class Person {
String name;
Person(String name) {
this.name = name;
}
void greet() {
System.out.println("Oi, eu sou " + name);
}
}
Person p = new Person("Alice");
p.greet();