Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 33 34 35 36 37 38 39 [40] 41 42   вперед  Ctrl
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3249
Озверин
ЕЩЕ раза - там нет стаковерфлоу;)
А вы еще и лгун...

+

$ cat Test.java

public class Test {

static int n;

static int m;

public static void main(String args[]) {
n = 1;
m = Integer.MAX_VALUE;
print();
}

static boolean print() {
System.out.println(n++);
boolean b = (n > m || print());
return true;
}

}
$ javac Test.java
$ java -Xss2000M -Xmx10G Test 2>&1

...

23786844
23786845
23786846
23786847
Exception in thread "main" java.lang.StackOverflowError
at java.base/sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:695)
at java.base/java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:578)
at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:292)
at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:281)
at java.base/sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125)
at java.base/java.io.OutputStreamWriter.write(OutputStreamWriter.java:211)
at java.base/java.io.BufferedWriter.flushBuffer(BufferedWriter.java:120)
at java.base/java.io.PrintStream.write(PrintStream.java:526)
at java.base/java.io.PrintStream.print(PrintStream.java:597)
at java.base/java.io.PrintStream.println(PrintStream.java:733)
at Test.print(Test.java:15)
at Test.print(Test.java:16)
at Test.print(Test.java:16)


код с логикой внутри println узнаете? ваш?
20 апр 19, 00:02    [21867591]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
asv79
Member

Откуда: Тверь
Сообщений: 1322
asv79
Озверин
p.s. Легко:

public class MyClass {
    static int n;
    static int m;
    
    public static void main(String args[]) {
        n = 1;
        m = 4;
        
         print();   
    }
    
    static boolean print() {
        System.out.println(n++);
        boolean b = (n > m || print());
        return true;
    }
}



а если m =-4?)))
в условии не сказано что число положительное.
ваше решение озверин мало того что противоречит изначальным условиям,где нельзя использовать сравнение,так еще и не работает
как бы рано вам про фунциональные интерфейсы спорить,освежить надо бы основы java)

даже на положительном не работает при м=6200 стаковерфлоу
позорище какое озверин,после такого тотального поражения вам надо с раздела java самовыпиливаться)
20 апр 19, 00:02    [21867592]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
asv79, вы то тут с какого боку?:) Вы вообще ничего не понимаете, я подозреваю и на работу вас не возьмут, вместо обучения - вы бегаете по топикам и тявкаете?:)
20 апр 19, 00:04    [21867593]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
mayton
Member

Откуда: loopback
Сообщений: 41020
asv79
а если m =-4?)))
в условии не сказано что число положительное.
ваше решение озверин мало того что противоречит изначальным условиям,где нельзя использовать сравнение,так еще и не работает
как бы рано вам про фунциональные интерфейсы спорить,освежить надо бы основы java)

Если m=-4 тогда ты сам должен был уточнить задание. Может ты дальше введёшь комплексную составляющую
и мы будем делать числовой генератор в двух-мерном пространстве.

Уточни пожалуйста все детали которые возникнут потом.

И я очень не советую включать менторский тон в том случае когда ты пришёл за советом
или спрашиваешь. Это некрасиво.
20 апр 19, 00:05    [21867594]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Андрей Панфилов
Озверин
ЕЩЕ раза - там нет стаковерфлоу;)
А вы еще и лгун...

+

$ cat Test.java

public class Test {

static int n;

static int m;

public static void main(String args[]) {
n = 1;
m = Integer.MAX_VALUE;
print();
}

static boolean print() {
System.out.println(n++);
boolean b = (n > m || print());
return true;
}

}
$ javac Test.java
$ java -Xss2000M -Xmx10G Test 2>&1

...

23786844
23786845
23786846
23786847
Exception in thread "main" java.lang.StackOverflowError
at java.base/sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:695)
at java.base/java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:578)
at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:292)
at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:281)
at java.base/sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125)
at java.base/java.io.OutputStreamWriter.write(OutputStreamWriter.java:211)
at java.base/java.io.BufferedWriter.flushBuffer(BufferedWriter.java:120)
at java.base/java.io.PrintStream.write(PrintStream.java:526)
at java.base/java.io.PrintStream.print(PrintStream.java:597)
at java.base/java.io.PrintStream.println(PrintStream.java:733)
at Test.print(Test.java:15)
at Test.print(Test.java:16)
at Test.print(Test.java:16)


код с логикой внутри println узнаете? ваш?


Нет, пока что это вы утверждаете, что не делаете ошибок - я таких вещей не утверждают ;) Это вы утверждаете, что рефакторить ваш не надо и тут же рефакторите, у меня же с этим проблем нет ;) Я сразу сказал, надо будет - я избавлюсь от стаковерфлоу простым рефакторингом.
20 апр 19, 00:05    [21867595]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
asv79
Member

Откуда: Тверь
Сообщений: 1322
mayton

И я очень не советую включать менторский тон в том случае когда ты пришёл за советом
или спрашиваешь. Это некрасиво.

я в этом топике ничего не спрашивал
там выше есть ТЗ,не сказано что число положительное,а раз нет ,значит оно может быть отрицательным верно?
нельзя использовать сравнения
никаких исключений
озверин дал свой говно код,который не по 1.нарушает ТЗ
во вторых не рабочий ,так как не работает если число отрицательное и выкидывает стаковерфолоу

пс.зато он очень любит "тявкать " на чужой код)
20 апр 19, 00:09    [21867596]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
asv79
Member

Откуда: Тверь
Сообщений: 1322
Озверин
asv79, вы то тут с какого боку?:) Вы вообще ничего не понимаете, я подозреваю и на работу вас не возьмут, вместо обучения - вы бегаете по топикам и тявкаете?:)

я по крайне мере в состоянии прочитать ТЗ ,вас даже на это не хватило,не знаю как и где вы работаете ,но представляю что за "конфетка" выходит от вас)))
20 апр 19, 00:11    [21867598]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3249
Озверин
Это вы утверждаете, что рефакторить ваш не надо и тут же рефакторите, у меня же с этим проблем нет ;) Я сразу сказал, надо будет - я избавлюсь от стаковерфлоу простым рефакторингом.
а оригинальный код неправильный по-вашему был? Там все точно также стройно, без ваших стэковерфлоу и гигабайтов памяти, вторая - это уже оптимизация.

+
Предлагаю запустить вам вашу поделку в таком варианте:

	static int n;

	static int m;

	public static void main(String args[]) {
		n = Integer.MAX_VALUE;
		m = Integer.MAX_VALUE;
		print();
	}

	static boolean print() {
		System.out.println(n++);
		boolean b = (n > m || print());
		return true;
	}


20 апр 19, 00:13    [21867599]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
asv79
Озверин
asv79, вы то тут с какого боку?:) Вы вообще ничего не понимаете, я подозреваю и на работу вас не возьмут, вместо обучения - вы бегаете по топикам и тявкаете?:)

я по крайне мере в состоянии прочитать ТЗ ,вас даже на это не хватило,не знаю как и где вы работаете ,но представляю что за "конфетка" выходит от вас)))


вы вроде говорили, что человек взрослый...уже в том топике было видно, что вы сюда поругаться приходите. С вами мне лично говорить не о чем - вы просто слабо вменяемы.
20 апр 19, 00:13    [21867600]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Андрей Панфилов
Озверин
Это вы утверждаете, что рефакторить ваш не надо и тут же рефакторите, у меня же с этим проблем нет ;) Я сразу сказал, надо будет - я избавлюсь от стаковерфлоу простым рефакторингом.
а оригинальный код неправильный по-вашему был? Там все точно также стройно, без ваших стэковерфлоу и гигабайтов памяти, вторая - это уже оптимизация.

+
Предлагаю запустить вам вашу поделку в таком варианте:

	static int n;

	static int m;

	public static void main(String args[]) {
		n = Integer.MAX_VALUE;
		m = Integer.MAX_VALUE;
		print();
	}

	static boolean print() {
		System.out.println(n++);
		boolean b = (n > m || print());
		return true;
	}




надо было значит оставить первую версию кода, откуда я знаю - правильная она или нет? Это вы ее "оптимизировали," не я ;)
20 апр 19, 00:14    [21867602]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
asv79
Member

Откуда: Тверь
Сообщений: 1322
Озверин
asv79
пропущено...

я по крайне мере в состоянии прочитать ТЗ ,вас даже на это не хватило,не знаю как и где вы работаете ,но представляю что за "конфетка" выходит от вас)))


вы вроде говорили, что человек взрослый...уже в том топике было видно, что вы сюда поругаться приходите. С вами мне лично говорить не о чем - вы просто слабо вменяемы.

мне кажется вы на меня свои желания проецируете,так как где вы не появляетесь всегда ругань почему то .
может пора сменить сферу деятельности,все равно проф непригодны и нервишки расшатаны)
20 апр 19, 00:23    [21867605]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
mayton
Member

Откуда: loopback
Сообщений: 41020
asv79
озверин дал свой говно код,который не по 1.нарушает ТЗ
во вторых не рабочий ,так как не работает если число отрицательное и выкидывает стаковерфолоу

Его решение - наиболее близко к успеху. Тоесть к прохождению собеседования.
А вы - не будьте капризны. Идея - показана на 99%. Переполнение стека - фиксится (это оставшиеся 1%).

По крайней мере я-бы на собесе на этом поставил точку. И перешёл-бы к следующему вопросу. Нечего
больше ковырять. Времени мало а спрашивать надо еще много.
20 апр 19, 00:43    [21867611]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
asv79
Member

Откуда: Тверь
Сообщений: 1322
mayton
asv79
озверин дал свой говно код,который не по 1.нарушает ТЗ
во вторых не рабочий ,так как не работает если число отрицательное и выкидывает стаковерфолоу

Его решение - наиболее близко к успеху. Тоесть к прохождению собеседования.
А вы - не будьте капризны. Идея - показана на 99%. Переполнение стека - фиксится (это оставшиеся 1%).

По крайней мере я-бы на собесе на этом поставил точку. И перешёл-бы к следующему вопросу. Нечего
больше ковырять. Времени мало а спрашивать надо еще много.

его решение противоречит главному требованию- никаких сравнений,о чем вы mayton?
с таким же успехом можно было дать ответ форич от 1 до n
я уверен там есть изящные решения и в частности
20 апр 19, 01:17    [21867620]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
mayton
Member

Откуда: loopback
Сообщений: 41020
asv79
mayton
пропущено...

Его решение - наиболее близко к успеху. Тоесть к прохождению собеседования.
А вы - не будьте капризны. Идея - показана на 99%. Переполнение стека - фиксится (это оставшиеся 1%).

По крайней мере я-бы на собесе на этом поставил точку. И перешёл-бы к следующему вопросу. Нечего
больше ковырять. Времени мало а спрашивать надо еще много.

его решение противоречит главному требованию- никаких сравнений,о чем вы mayton?
с таким же успехом можно было дать ответ форич от 1 до n
я уверен там есть изящные решения и в частности

Самые изящные решения - это функциональное программирование. Основной
поинт - замена итерации рекурсией. Но к сожалению ВООБЩЕ без проверки
условий или без некого оператора ветвления основанного на проверке
предиката - нам не обойтись.

Да мы сыграли на свойствах арифметики целых чисел фиксированной разрядной сетки
и bitwise. Но что мы будем делать когда постановщик слегка усложит задачу?
Он введет строковые проверки. Что будем делать?

И здесь - демонстрация рекурсии - это 99% решенная задача. Остальное - от лукавого.
20 апр 19, 01:25    [21867621]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
asv79
Member

Откуда: Тверь
Сообщений: 1322
mayton
Но к сожалению ВООБЩЕ без проверки
условий не обойтись



И здесь - демонстрация рекурсии - это 99% решенная задача. Остальное - от лукавого.

давайте по пунктам
1.Вы утверждаете,что этот вопрос демонстрация знаний рекурсии
2.Вы утверждаете,что без проверки условий тут не обойтись

По обоим пунктам вы вкорне не правы,по первому пункту - никто у опытного джависта не будет спрашивать про рекурсию,это вопрос стажеру ,который я решаю за 1 минуту и это не демонстрация рекурсии,так как эта задача решается совсем другим методом

Вы неправы и по второму пункту,эта задача решается без единого условия проверки
Вы неправы и по утверждению "остальное от лукавого",так как эта задача решается при наличии фундтаментальных знаний OOП и именно это хотят увидеть от испытуемого
import java.util.Arrays;

public class Main {


    public static void main(String[] args) {
        int n=1000;
        Object[] numbers = new Object[n];
        Arrays.fill(numbers, new Object() {
            private int count = 0;

            @Override
            public String toString() {
                return Integer.toString(++count);
            }
        });
        System.out.println(Arrays.toString(numbers));

    }
}
20 апр 19, 10:38    [21867701]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
import java.util.Arrays;

public class Main {


    public static void main(String[] args) {
        int n=1000;
        Object[] numbers = new Object[n];
        Arrays.fill(numbers, new Object() {
            private int count = 0;

            @Override
            public String toString() {
                return Integer.toString(++count);
            }
        });
        System.out.println(Arrays.toString(numbers));

    }
}


задача называется: угадайте, сколько циклов используется в этом коде ;) Прямо как в задаче про треугьлоники.
20 апр 19, 12:13    [21867737]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
lleming
Member

Откуда:
Сообщений: 1595
asv79
mayton
Но к сожалению ВООБЩЕ без проверки
условий не обойтись



И здесь - демонстрация рекурсии - это 99% решенная задача. Остальное - от лукавого.

давайте по пунктам
1.Вы утверждаете,что этот вопрос демонстрация знаний рекурсии
2.Вы утверждаете,что без проверки условий тут не обойтись

По обоим пунктам вы вкорне не правы,по первому пункту - никто у опытного джависта не будет спрашивать про рекурсию,это вопрос стажеру ,который я решаю за 1 минуту и это не демонстрация рекурсии,так как эта задача решается совсем другим методом

Вы неправы и по второму пункту,эта задача решается без единого условия проверки
Вы неправы и по утверждению "остальное от лукавого",так как эта задача решается при наличии фундтаментальных знаний OOП и именно это хотят увидеть от испытуемого
import java.util.Arrays;

public class Main {


    public static void main(String[] args) {
        int n=1000;
        Object[] numbers = new Object[n];
        Arrays.fill(numbers, new Object() {
            private int count = 0;

            @Override
            public String toString() {
                return Integer.toString(++count);
            }
        });
        System.out.println(Arrays.toString(numbers));

    }
}


так можно просто строку в eval передать и говорить что нет циклов
20 апр 19, 12:36    [21867745]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
asv79
Member

Откуда: Тверь
Сообщений: 1322
Озверин
import java.util.Arrays;

public class Main {


    public static void main(String[] args) {
        int n=1000;
        Object[] numbers = new Object[n];
        Arrays.fill(numbers, new Object() {
            private int count = 0;

            @Override
            public String toString() {
                return Integer.toString(++count);
            }
        });
        System.out.println(Arrays.toString(numbers));

    }
}


задача называется: угадайте, сколько циклов используется в этом коде ;) Прямо как в задаче про треугьлоники.

давайте освежим тему циклов ,какие они бывают и какие ключевые слова
далее попробуем в этом коде найти хотя бы один из них,
метод fill входит в стандартную библиотеку java и в ТЗ нет ограничений по использованию каких либо методов или библиотек
там достаточно прозрачно написано что требуется,Что и делает мой код ,в отличии от вашего)))
20 апр 19, 12:36    [21867747]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3249
asv79,

давайте положим что n = Integer.MAX_VALUE ...
20 апр 19, 12:47    [21867752]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
asv79
Member

Откуда: Тверь
Сообщений: 1322
lleming

так можно просто строку в eval передать и говорить что нет циклов

Напомните мне где поискать такой класс в стандартном API
ну если уж пошла такая пьянка посчитайте сколько if в методе println(int x)

пс. до маразма тоже доходить не надо,так мы начнем ковыряться в исходниках и придем к тому,что задание надо было в машиином коде написать,иначе мы нарушим какое либо условие)в задании есть условие не использовать циклы и сравнения,но ничего нет про метод fill();
20 апр 19, 12:50    [21867755]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
asv79
Member

Откуда: Тверь
Сообщений: 1322
Андрей Панфилов
asv79,

давайте положим что n = Integer.MAX_VALUE ...

выделите больше памяти под это дело,Я тестил мое решение падает на 60000
озвериновское на 6500,при этом озверин использует сравнение- что уже автоматом отправляет его код в корзину
20 апр 19, 12:53    [21867757]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
asv79
Member

Откуда: Тверь
Сообщений: 1322
class Main {

    public static void main(String[] args) {
        int i=21474836;
        String set = new java.util.BitSet() {{ set(1, i+1); }}.toString();
        System.out.append(set, 1, set.length()-1);
    }
}

максимально рабочий ,выдерживает приличное значение,перед тем как куча заполнится
20 апр 19, 13:28    [21867766]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
lleming
Member

Откуда:
Сообщений: 1595
asv79
lleming
так можно просто строку в eval передать и говорить что нет циклов

Напомните мне где поискать такой класс в стандартном API
ну если уж пошла такая пьянка посчитайте сколько if в методе println(int x)

пс. до маразма тоже доходить не надо,так мы начнем ковыряться в исходниках и придем к тому,что задание надо было в машиином коде написать,иначе мы нарушим какое либо условие)в задании есть условие не использовать циклы и сравнения,но ничего нет про метод fill();


делаем проект на гитхабе где в цикле печатаем числа. Публикуем в maven central repository, подключаем проекту и говорим
а че в условиях нет про использование библиотеки
а что в условии нет ничего про использовании Arrays.fill
а что в условии нет ничего про то что число N может быть отрицательным
а что в условии нет ничего про то что число N вообще целое
а что в условии нет ничего про то что число может быть больше 6500
а если оно больше чем 6500 то в условии нет ничего про то что число не может быть больше чем Integer.MAX_INT

тут можно долго фантазировать, каждый пусть допишет свое которое считает правильным.

по сути все свелось к тому чтобы выразить if как то по другому, по сути If это чисто упрощение в синтаксисе чтобы не изгалятся так как в приведенных примерах.

Просто тем кто на сях не прогал а на чистой java только сложнее это понять.
20 апр 19, 14:45    [21867790]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
lleming
Member

Откуда:
Сообщений: 1595
asv79
class Main {

    public static void main(String[] args) {
        int i=21474836;
        String set = new java.util.BitSet() {{ set(1, i+1); }}.toString();
        System.out.append(set, 1, set.length()-1);
    }
}

максимально рабочий ,выдерживает приличное значение,перед тем как куча заполнится


есть подозрение что new BitSet().toString() внутри банальный цикл, не думаю что смысл задания был завуалировано проверить кандидата на знание особенностей реалиацизии toString в BitSet.
20 апр 19, 15:00    [21867794]     Ответить | Цитировать Сообщить модератору
 Re: Задачка для собеседования : ArrayList vs LinkedList  [new]
chpasha
Member

Откуда:
Сообщений: 7988
asv79
далее попробуем в этом коде найти хотя бы один из них,
метод fill входит в стандартную библиотеку java и в ТЗ нет ограничений по использованию каких либо методов или библиотек
формально ты прав, но фактически очевидно, что авторы задачи хотели увидеть решение без явных или замаскированных циклов (а они явно есть и в fill и в toString). по той же причине просили не юзать стримы. что там используется в println не имеет значения, т.к. метод не участвует в генерации чисел, это просто визуализация. Т.е. по сути ты просто подловил автора на неточности формулировки.
20 апр 19, 15:27    [21867798]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 33 34 35 36 37 38 39 [40] 41 42   вперед  Ctrl
Все форумы / Java Ответить