https://technews.bg/article-151601.html
Те тава човъркам в момента, питонецът нещо не тръгна, ще пробвам с докержийницата. Това е и причината да си пусна линукчийницата, и да се обадя на аутистчета като вазе!
https://github.com/xtekky/gpt4free
Docker
Build
docker build -t gpt4free:latest -f Docker/Dockerfile .
Run
docker run -p 8501:8501 gpt4free:latest
И какъв е смисъла? Тая дупка ще я затворят много бързо.
Maй са я затворили, докер репото не го намира. От питонец не разбирам, ама и него не успях да билдна. Имаше портнато готовия резултат в нета, и той не бачка.
Може аз нещо да пропускам, ама отивам да разсаждам марули.
p.s.
docker pull darkzorro/gpt4free
Tуй потече, има и още един имидж на morningtzh
Запалих зоровския имидж, тука тръгна, ама май е директно онлайн. Още не съм наясно кое отде бачка.
https://chat.chatbot.sex/chat/
На Дебиан и Опера. На Изчадие и Мозила не тръгна.
п.с. корекция:
Днес тръгна на изчадие, вчера не работеше. Чат 3 се обажда в момента по дефолт, долу има превключвател, обади се и четворката! Баси кефа, и на български приказва, пълни безсмислици!
Засега по-добре без него. Четворката, дето е платена, дадох му да решава онаа задачка от интервю. Схвана заглавието, или го изрови от нета, щото я има на няколко места. Изсра ми стотина ред код, дава out of bound exception. Посочвам му грешката, извини се, коригира. Дава грешен резултат, ама поне се билдна. Посочвам му резултата, извини се, модифицира метода, и уж даде целия код, ама отрязан отдолу. Викам дай целия код, он заби и спря да се обажда.
Засега не виждам как може да е полезен за работа. Ще пробвам довечера ена друга задачка, даваха ми ена задачка да им разцъкам онлайн склад. Там кодът не е овъртян, да видим кво ще издриска.
Правих си ташак с въпроси за политика, пише на български, ама все едно слушам поредния мазен клоун. Туй нещо няма съзнание.
Ти верно ли пускаш случайни докер файлове на твоята машина? През колко ВПН-а ги прекарваш? Нали знаеш, че Докер доскоро пускаше всички контейнери с руут акаунт да си правят квото искат на машината ти?
Дреме ми на бубата, за линкукската машина. Мисля, без root тръгна имиджа.
По ваше село как процедирате с докержийницата? Имах неудоволствието да подкарвам Докержийница, на Изчадие 11. Няма такава мъка, пак през root на емулирано Убунту се пуска, и за сефте през живота писАх в конзола, без Midnight commander дори!
Дори не са се постарали колегите, да прекомпилират Докер за Изчадие. Линукс е за работа, изчадие е за секретарки и геймъри.
Колегата му се кефи. Аз не го барам засега. Но ме ядоса, че през него имаш руут достъп до целия хост. Уж го били оправили ама ...
Скоро няма да ни изяде ляба. Ама върши работа като справочник, java.io в моя случай. Сети се да ползва рекурсия, за обхождане на директории. Ама докат му оправя кода то по-лесно да си го напиша аз. Тъй и не успя да ми изгенерира нещо работещо, на няколко задачи, лесна до средно трудна. 4-та версия GPT.
Царе сте вий, цъкате си на С и ви не дреме за околния свят, че ме питат за 10 фреймворка, 20 други технологии, SQL, патърни и квото още се сетиш. Викам му от облаците само виртуалки съм ползвал, он ме питА за патърните на Единия, дето прави видео. Да си бях седял на embedded, не да уча и фронтенд, на дръти години.
Бе не е зле. Лесните задачки ги решава. Накарах го да ми сканира директория, и да отпечата еднаквите файлове в поддиректориите. Чак на третия път изкара работещ код. Жони ми отряза последните редове, инак кода работи коректно. И текстови задачи решава, докъм линейни уравнения. После почва да ги греши.
public class SemicolonCombinations {
// Method to generate all valid combinations of N semicolons
public static void generateSemicolonCombinations(int n) {
if(n <= 0) {
return;
}
generateSemicolonCombinations(n, "", 0, 0);
}
// Helper method to generate all valid combinations of N semicolons recursively
private static void generateSemicolonCombinations(int n, String prefix, int open, int close) {
if(close == n) {
System.out.println(prefix);
return;
}
if(open < n) {
generateSemicolonCombinations(n, prefix + "(", open+1, close);
}
if(close < open) {
generateSemicolonCombinations(n, prefix + ")", open, close+1);
}
}
// Driver code to test the generateSemicolonCombinations method
public static void main(String[] args) {
int n = 3;
generateSemicolonCombinations(n);
=======================================OUTPUT====================================
((()))
(()())
(())()
()(())
()()()
Process finished with exit code 0
(((((())))))
((((()()))))
((((())())))
((((()))()))
((((())))())
((((()))))()
(((()(()))))
(((()()())))
(((()())()))
(((()()))())
(((()())))()
(((())(())))
(((())()()))
(((())())())
(((())()))()
(((()))(()))
(((()))()())
(((()))())()
(((())))(())
(((())))()()
((()((()))))
((()(()())))
((()(())()))
((()(()))())
((()(())))()
((()()(())))
((()()()()))
((()()())())
((()()()))()
((()())(()))
((()())()())
((()())())()
((()()))(())
((()()))()()
((())((())))
((())(()()))
((())(())())
((())(()))()
((())()(()))
((())()()())
((())()())()
((())())(())
((())())()()
((()))((()))
((()))(()())
((()))(())()
((()))()(())
((()))()()()
(()(((()))))
(()((()())))
(()((())()))
(()((()))())
(()((())))()
(()(()(())))
(()(()()()))
(()(()())())
(()(()()))()
(()(())(()))
(()(())()())
(()(())())()
(()(()))(())
(()(()))()()
(()()((())))
(()()(()()))
(()()(())())
(()()(()))()
(()()()(()))
(()()()()())
(()()()())()
(()()())(())
(()()())()()
(()())((()))
(()())(()())
(()())(())()
(()())()(())
(()())()()()
(())(((())))
(())((()()))
(())((())())
(())((()))()
(())(()(()))
(())(()()())
(())(()())()
(())(())(())
(())(())()()
(())()((()))
Учете да работите с ИИ, момци! Първия път му исках да разпише дърво, да го напълни с рандом номера, и да изкара път от корен до лист, който има максимална стойност. Нещо подобно са ми давали на интервю. После го накарах да изпринти дървото в конзолата, и си модифицира кода.
Аз вече ще ходя с чата, по такива мероприятия. Интересното е, че в нета само на едно място, в един форум, имаше разписано дърво в толкова лаконичен вид. Все едно, че ИИ копира оттам.
import java.util.*;
public class MaxSumPathTree {
static class Node {
int val;
Node left, right;
Node(int val) {
this.val = val;
this.left = null;
this.right = null;
}
}
// Method to print the binary tree in text console
public static void printTree(Node root) {
int maxLevel = getMaxTreeDepth(root);
printSubtree(Collections.singletonList(root), 1, maxLevel);
}
// Helper method to print each level of the binary tree
private static void printSubtree(List<Node> nodes, int level, int maxLevel) {
if (nodes.isEmpty() || isAllElementsNull(nodes))
return;
int floor = maxLevel - level;
int edgeLines = (int) Math.pow(2, Math.max(floor - 1, 0));
int firstSpaces = (int) Math.pow(2, floor) - 1;
int betweenSpaces = (int) Math.pow(2, floor + 1) - 1;
printWhitespaces(firstSpaces);
List<Node> newNodes = new ArrayList<>();
for (Node node : nodes) {
if (node != null) {
System.out.print(node.val);
newNodes.add(node.left);
newNodes.add(node.right);
} else {
System.out.print(" ");
newNodes.add(null);
newNodes.add(null);
}
printWhitespaces(betweenSpaces);
}
System.out.println();
for (int i = 1; i <= edgeLines; i++) {
for (int j = 0; j < nodes.size(); j++) {
printWhitespaces(firstSpaces - i);
if (nodes.get(j) == null) {
printWhitespaces(2 * edgeLines + i + 1);
continue;
}
if (nodes.get(j).left != null)
System.out.print("/");
else
printWhitespaces(1);
printWhitespaces(i * 2 - 1);
if (nodes.get(j).right != null)
System.out.print("\\");
else
printWhitespaces(1);
printWhitespaces(2 * edgeLines - i);
}
System.out.println();
}
printSubtree(newNodes, level + 1, maxLevel);
}
// Helper method to print whitespaces
private static void printWhitespaces(int count) {
for (int i = 0; i < count; i++)
System.out.print(" ");
}
// Helper method to check if all elements in a list are null
private static boolean isAllElementsNull(List<Node> list) {
for (Node node : list) {
if (node != null)
return false;
}
return true;
}
// Method to print the maximum sum path in a binary tree
public static void printMaxSumPath(Node root) {
List<Integer> path = new ArrayList<>();
List<List<Integer>> allPaths = new ArrayList<>();
int maxSum = Integer.MIN_VALUE;
calculateMaxSumPath(root, path, allPaths, maxSum);
// Find the path with maximum sum
List<Integer> maxPath = new ArrayList<>();
for (List<Integer> p : allPaths) {
int sum = p.stream().mapToInt(Integer::intValue).sum();
if (sum > maxSum) {
maxSum = sum;
maxPath = p;
}
}
// Print the path with maximum sum
System.out.print("Maximum Sum Path: ");
for (int i = 0; i < maxPath.size(); i++) {
System.out.print(maxPath.get(i));
if (i != maxPath.size() - 1) {
System.out.print(" -> ");
}
}
System.out.println("; Max Sum = " + maxSum);
}
// Helper method to calculate all possible paths and their sum
private static void calculateMaxSumPath(Node root, List<Integer> path, List<List<Integer>> allPaths, int maxSum) {
if (root == null) {
return;
}
path.add(root.val);
if (root.left == null && root.right == null) {
allPaths.add(new ArrayList<>(path));
} else {
calculateMaxSumPath(root.left, path, allPaths, maxSum);
calculateMaxSumPath(root.right, path, allPaths, maxSum);
}
path.remove(path.size() - 1);
}
// Method to get the maximum depth of a binary tree
private static int getMaxTreeDepth(Node node) {
if (node == null)
return 0;
return 1 + Math.max(getMaxTreeDepth(node.left), getMaxTreeDepth(node.right));
}
public static void main(String[] args) {
// Construct a binary tree with random numbers
Node root = new Node(10);
root.left = new Node(-2);
root.right = new Node(7);
root.left.left = new Node(8);
root.left.right = new Node(-4);
// Print the binary tree and the maximum sum path in the binary tree
printTree(root);
printMaxSumPath(root);
}
}
=====================================================
10
/ \
/ \
-2 7
/ \
8 -4
Maximum Sum Path: 10 -> 7; Max Sum = 17
Process finished with exit code 0
Бамбич, не ти ли дадоха задача да издОиш козъ или да прекопаш репи да ги шашнеш и да те земат TL?
Накарах го да ми нарисува шахматно поле, с графичната библиотека. С първия път отличен резултат.
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ChessBoard extends JPanel {
private static final long serialVersionUID = 1L;
public static final int WIDTH = 400;
public static final int HEIGHT = 400;
public static final int CELLSIZE = 50;
public ChessBoard() {
super();
setSize(WIDTH, HEIGHT);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Color light = new Color(170, 170, 170);
Color dark = new Color(90, 90, 90);
for (int i = 0; i < WIDTH; i += CELLSIZE) {
for (int j = 0; j < HEIGHT; j += CELLSIZE) {
if ((i / CELLSIZE % 2 == 0 && j / CELLSIZE % 2 == 0)
|| (i / CELLSIZE % 2 == 1 && j / CELLSIZE % 2 == 1)) {
g.setColor(light);
} else {
g.setColor(dark);
}
g.fillRect(i, j, CELLSIZE, CELLSIZE);
}
}
}
public static void main(String[] args) {
JFrame frame = new JFrame("Chess Board");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ChessBoard board = new ChessBoard();
frame.add(board);
frame.setSize(WIDTH, HEIGHT);
frame.setVisible(true);
}
}
Една и съща задача, първия път се омота и заби. Втора сесия, сработи с първия път. 100 произволни точки, и мин. дължина на линиите м/у тях.
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MinSpanningTree extends JPanel {
private static final int POINT_COUNT = 100;
private static final int WIDTH = 800;
private static final int HEIGHT = 600;
private static final Color POINT_COLOR = Color.RED;
private static final Color LINE_COLOR = Color.BLACK;
private static final Random RAND = new Random();
private List<Point> points = new ArrayList<>();
private List<Edge> edges = new ArrayList<>();
public MinSpanningTree() {
generatePoints();
buildMinSpanningTree();
}
private void generatePoints() {
for (int i = 0; i < POINT_COUNT; i++) {
points.add(new Point(RAND.nextInt(WIDTH), RAND.nextInt(HEIGHT)));
}
}
private void buildMinSpanningTree() {
List<Integer> unvisited = new ArrayList<>();
for (int i = 0; i < POINT_COUNT; i++) {
unvisited.add(i);
}
List<Integer> visited = new ArrayList<>();
visited.add(0);
unvisited.remove(Integer.valueOf(0));
while (!unvisited.isEmpty()) {
double minDist = Double.MAX_VALUE;
int minSrc = -1, minDest = -1;
for (int src : visited) {
for (int dest : unvisited) {
double dist = distance(points.get(src), points.get(dest));
if (dist < minDist) {
minDist = dist;
minSrc = src;
minDest = dest;
}
}
}
edges.add(new Edge(points.get(minSrc), points.get(minDest)));
visited.add(minDest);
unvisited.remove(Integer.valueOf(minDest));
}
}
private double distance(Point p1, Point p2) {
int dx = p1.x - p2.x;
int dy = p1.y - p2.y;
return Math.sqrt(dx * dx + dy * dy);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(POINT_COLOR);
for (Point p : points) {
g.fillOval(p.x - 3, p.y - 3, 6, 6);
}
g.setColor(LINE_COLOR);
for (Edge e : edges) {
g.drawLine(e.src.x, e.src.y, e.dest.x, e.dest.y);
}
}
public static void main(String[] args) {
JFrame frame = new JFrame("Minimum Spanning Tree");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(WIDTH, HEIGHT);
frame.add(new MinSpanningTree());
frame.setVisible(true);
}
private static class Edge {
private Point src, dest;
private Edge(Point src, Point dest) {
this.src = src;
this.dest = dest;
}
}
}
Реба Създадено на 30.04.2023, видяно: 329 пъти. #89797
да, тежко бъдеще за нАуката, единствената сигурна крепост остана биячеството и миенето на чинии, обратно на това което предсказваха очЕните
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MinSpanningTree extends JPanel {
private static final int POINT_COUNT = 100;
private static final int WIDTH = 800;
private static final int HEIGHT = 600;
private static final Color POINT_COLOR = Color.RED;
private static final Random RAND = new Random();
private List<Point> points = new ArrayList<>();
private List<Edge> edges = new ArrayList<>();
public MinSpanningTree() {
generatePoints();
buildMinSpanningTree();
}
private void generatePoints() {
for (int i = 0; i < POINT_COUNT; i++) {
points.add(new Point(RAND.nextInt(WIDTH), RAND.nextInt(HEIGHT)));
}
}
private void buildMinSpanningTree() {
List<Integer> unvisited = new ArrayList<>();
for (int i = 0; i < POINT_COUNT; i++) {
unvisited.add(i);
}
List<Integer> visited = new ArrayList<>();
visited.add(0);
unvisited.remove(Integer.valueOf(0));
while (!unvisited.isEmpty()) {
double minDist = Double.MAX_VALUE;
int minSrc = -1, minDest = -1;
for (int src : visited) {
for (int dest : unvisited) {
double dist = distance(points.get(src), points.get(dest));
if (dist < minDist) {
minDist = dist;
minSrc = src;
minDest = dest;
}
}
}
edges.add(new Edge(points.get(minSrc), points.get(minDest), generateRandomColor()));
visited.add(minDest);
unvisited.remove(Integer.valueOf(minDest));
}
}
private double distance(Point p1, Point p2) {
int dx = p1.x - p2.x;
int dy = p1.y - p2.y;
return Math.sqrt(dx * dx + dy * dy);
}
private Color generateRandomColor() {
int r = RAND.nextInt(256);
int g = RAND.nextInt(256);
int b = RAND.nextInt(256);
return new Color(r, g, b);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(POINT_COLOR);
for (Point p : points) {
g.fillOval(p.x - 3, p.y - 3, 6, 6);
}
for (Edge e : edges) {
g.setColor(e.color);
g.drawLine(e.src.x, e.src.y, e.dest.x, e.dest.y);
}
}
public static void main(String[] args) {
JFrame frame = new JFrame("Minimum Spanning Tree");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(WIDTH, HEIGHT);
frame.add(new MinSpanningTree());
frame.setVisible(true);
}
private static class Edge {
private Point src, dest;
private Color color;
private Edge(Point src, Point dest, Color color) {
this.src = src;
this.dest = dest;
this.color = color;
}
}
}
Някъв мазаляк станА, казах му да маха линията, след като я видя, да не се претрупва. Не разбра кво искам и ме отсвири.
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class AnimatedMinSpanningTree extends JPanel {
private static final int POINT_COUNT = 100;
private static final int WIDTH = 800;
private static final int HEIGHT = 600;
private static final int ANIMATION_DELAY_MS = 20;
private static final Color POINT_COLOR = Color.RED;
private static final Color EDGE_COLOR = Color.BLACK;
private static final Color ANIMATED_EDGE_COLOR = Color.BLUE;
private static final Random RAND = new Random();
private List<Point> points = new ArrayList<>();
private List<Edge> edges = new ArrayList<>();
private boolean isAnimating = false;
private int animatedEdgeIndex = -1;
public AnimatedMinSpanningTree() {
generatePoints();
}
private void generatePoints() {
for (int i = 0; i < POINT_COUNT; i++) {
points.add(new Point(RAND.nextInt(WIDTH), RAND.nextInt(HEIGHT)));
}
}
private void buildMinSpanningTree() throws InterruptedException {
List<Edge> sortedEdges = new ArrayList<>();
for (int i = 0; i < points.size(); i++) {
for (int j = i + 1; j < points.size(); j++) {
sortedEdges.add(new Edge(points.get(i), points.get(j)));
}
}
Collections.shuffle(sortedEdges);
List<Integer> roots = new ArrayList<>();
for (int i = 0; i < points.size(); i++) {
roots.add(i);
}
for (int i = 0; i < sortedEdges.size(); i++) {
Edge edge = sortedEdges.get(i);
int root1 = findRoot(roots, points.indexOf(edge.src));
int root2 = findRoot(roots, points.indexOf(edge.dest));
if (root1 != root2) {
roots.set(root1, root2);
edges.add(edge);
animateEdge(i);
}
}
}
private int findRoot(List<Integer> roots, int i) {
if (roots.get(i) != i) {
roots.set(i, findRoot(roots, roots.get(i)));
}
return roots.get(i);
}
private void animateEdge(int index) throws InterruptedException {
isAnimating = true;
animatedEdgeIndex = index;
repaint();
Thread.sleep(ANIMATION_DELAY_MS);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(POINT_COLOR);
for (Point p : points) {
g.fillOval(p.x - 3, p.y - 3, 6, 6);
}
g.setColor(EDGE_COLOR);
for (int i = 0; i < edges.size(); i++) {
Edge edge = edges.get(i);
if (isAnimating && i == animatedEdgeIndex) {
g.setColor(ANIMATED_EDGE_COLOR);
}
g.drawLine(edge.src.x, edge.src.y, edge.dest.x, edge.dest.y);
g.setColor(EDGE_COLOR);
}
if (isAnimating) {
isAnimating = false;
animatedEdgeIndex = -1;
}
}
public static void main(String[] args) throws InterruptedException {
JFrame frame = new JFrame("Animated Minimum Spanning Tree");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(WIDTH, HEIGHT);
AnimatedMinSpanningTree panel = new AnimatedMinSpanningTree();
frame.add(panel);
frame.setVisible(true);
panel.buildMinSpanningTree();
}
private static class Edge {
private Point src, dest;
private Edge(Point src, Point dest) {
this.src = src;
this.dest = dest;
}
}
}