小编Alg*_*ist的帖子

是否在Java中继承了静态方法?

我正在阅读Khalid Mughal的程序员Java™SCJP认证指南.

在继承章节中,它解释了这一点

成员的继承与其声明的可访问性密切相关.如果超类成员可以通过其子类中的简单名称访问(不使用任何额外的语法,如super),则该成员被视为继承

它还提到静态方法不是继承的.但是下面的代码非常好:

class A
{
    public static void display()
    {
        System.out.println("Inside static method of superclass");
    }
}

class B extends A
{
    public void show()
    {
        // This works - accessing display() by its simple name -
        // meaning it is inherited according to the book.
        display();
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎么能display()在课堂上直接使用B?更重要的是,B.display()也有效.

本书的解释是否仅适用于实例方法?

java inheritance static

134
推荐指数
5
解决办法
13万
查看次数

Java中的ConcurrentHashMap和Hashtable

Java中的ConcurrentHashMap和Hashtable有什么区别?

哪个对线程应用程序更有效?

java hashtable hashmap

61
推荐指数
2
解决办法
7万
查看次数

访谈:删除链表中的循环 - Java

我在采访中被问到这个问题:"如何检测链表中的循环?",我解决了这个问题,但是面试官立刻问我如何删除链表中的循环.我摸索着.

那么关于如何解决这个问题的任何指针都可能是伪代码或方法定义?

我对Java很满意所以我在java下标记了这个问题.

对于实例,此链接列表具有循环

 0--->1---->2---->3---->4---->5---->6
                  ?                 |
                  |                 ?
                 11<—-22<—-12<—-9<—-8
Run Code Online (Sandbox Code Playgroud)

java linked-list data-structures

53
推荐指数
4
解决办法
2万
查看次数

如何在C中进行GUI编程?

我想在C中进行图形编程.我已经搜索了很多关于编译器的信息,该编译器提供了丰富的函数,用于在C语言中进行GUI编程,但我找不到任何东西.

基本上我想绘制按钮然后接受用户的选择并采取适当的行动.如果你可以建议一个C编译器,或者我可以添加到我的编译器的库,将会很有帮助.我正在使用Windows操作系统.

目前,我使用的TURBO C编译器不支持创建按钮的直接方法.任何帮助,将不胜感激.

c windows graphics user-interface

52
推荐指数
6
解决办法
25万
查看次数

给定一组正负整数,重新排列它,使得一端为正整数,另一端为负整数.

我最近遇到了一个面向软件工程师的微软面试问题.

给定一组正负整数,重新排列它,使得一端为正整数,另一端为负整数,但保留原始数组中的出现顺序.

例如,给出[1, 7, -5, 9, -12, 15]
的答案是:[-5, -12, 1, 7, 9, 15]

这应该在O(n)中完成.

我们可以很容易地在O(n)中完成它,但我无法想象我们如何能够像原始数组一样维护元素的顺序.如果我们忘记O(n)的复杂性,有人可以告诉我如何在不考虑空间和时间复杂性的情况下保持元素的顺序.

编辑:在实际问题中,我们还需要具有O(1)空间复杂度.

arrays sorting algorithm

46
推荐指数
4
解决办法
5万
查看次数

反复消除完美方块后剩下多少个数字?

我在Topcoder中练习SRM问题.我遇到了这个问题

问题陈述:今天是平安夜.世界各地的人们庆祝这个假期.以下故事发生在圣诞老人居住的驯鹿之地.

驯鹿喜欢糖果.他们有n块糖果.这些糖果编号为1到n.Dasher是驯鹿之一.他想吃一个糖果.为了挑选他要吃的那个,Dasher使用以下方法:虽然有一块以上的糖果:丢弃所有用完美方块编号的糖果(即糖果1,4,9,16,25等) .重新标记剩余的k个糖果1到k,保持数字的顺序相同.只剩下一块糖果,Dasher就会吃掉它.

给你一个int n.您的方法必须计算并返回最初分配给Dasher吃掉的糖果的数字.

我使用ArrayList解决了这个问题但是我的解决方案因为非常大的数量而失败(Java Heap Sapce Exception).因此我在想是否有可能解决O(1)空间复杂性中的问题.

请提出您的建议和方法.我不希望代码只解释破解这个问题的逻辑.

我已经用问题陈述重新打开了这个问题 ,因此Stackoverflow中的大师可以帮助我在O(1)空间复杂度中解决这个问题

algorithm math

17
推荐指数
3
解决办法
1520
查看次数

查找java中字符串中字符频率的有效方法:O(n)

在最近的一次采访中,我被要求写下面的程序.找出给定字符串中频率最小的字符?所以我尝试通过使用charAt迭代字符串并将字符作为键存储在HashMap中,并将出现次数作为其值.现在,我必须迭代Map以找到最低元素.

有没有一种更有效的方法来做到这一点,显然上面这个太强烈了我猜.

更新和另一种解决方案

经过一些思考过程和答案后,我认为最好的时间是O(n).在第一次迭代中,我们将不得不逐字符遍历字符串,然后将它们的频率存储在特定位置的数组中(字符是int),同时有两个临时变量,它们保持最少的计数和相应的字符.所以当我转到下一个字符并将其频率存储在arr [char] = arr [char] +1中;同时我将检查temp varible是否具有大于此值的值,如果是,那么temp变量将是这个值,并且char也将是这一个.这样我想我们不需要第二次迭代来找到最小的并且也不需要排序我猜

.... Wat说?或者更多解决方案

java string character

12
推荐指数
1
解决办法
1万
查看次数

如何使用优先级队列实现堆栈?

如何使用优先级队列实现堆栈?

伙计这是一个面向软件工程师/开发人员微软面试问题.我只是无法弄清楚问题的含义.所以我很好地发现了这个问题:

可以将堆栈和队列建模为特定类型的优先级队列.在堆栈中,每个插入元素的优先级是单调递增的; 因此,插入的最后一个元素始终是第一个检索的元素.

所以这个问题要我们做什么.作为堆栈(纠正我,如果错了)隐式实现为优先级队列(优先级随着元素的增加而单调递增).

有没有人可以弄清楚这个问题的含义.在面试中提出这类问题时我们应该做什么.

algorithm

11
推荐指数
2
解决办法
2万
查看次数

从Java中的synchronized上下文调用Thread.sleep()

我已经读过,Thread.sleep()它将暂停当前运行的线程指定的时间,之后它将返回runnable状态,等待它运行.

此外,如果从synchronized上下文调用,sleep()则不会释放它所持有的锁.所以我想知道什么时候会释放锁.如果线程处于休眠状态,永远不会有机会运行,那么它将始终保持锁定,然后其他线程如何进入同步方法/块.

我不确定我是否提出有效的问题.但请帮帮我.

java multithreading synchronized thread-sleep

11
推荐指数
2
解决办法
1万
查看次数

找到字符串的最长边框

首先,让我告诉你字符串边框是什么,

let x = "abacab"
let y = "ababab"
Run Code Online (Sandbox Code Playgroud)

字符串的边框是一个子字符串,它既是正确的前缀又是字符串的正确后缀 - "正确"意味着整个字符串不算作子字符串.最长的边界x是"ab".最长的边界y是"abab"(前缀和后缀可以重叠).

另一个例子:
在字符串" abcde hgrab abcde "中,"abcde"是前缀和后缀.因此它也是上面字符串中最长的边界.

如何找到字符串最长的边框?

string algorithm

10
推荐指数
2
解决办法
2563
查看次数