输入数组是:
A[0] = 23171
A[1] = 21015
A[2] = 21123
A[3] = 21366
A[4] = 21013
A[5] = 21367
Run Code Online (Sandbox Code Playgroud)
使命是找到最大的利润.例如A [3] - A [2] = 243,我的代码是:
class Solution {
int profit = 0;
public int solution(int[] A) {
for (int i = 0;i < A.length; i++){
for (int j = i + 1; j < A.length; j++){
if(A[j] - A[i] > profit)
profit = A[j] - A[i];
}
}
return profit;
}
}
Run Code Online (Sandbox Code Playgroud)
结果假设是365,但它会在更大的输入上爆炸.该代码的时间复杂度为O(N 2),但可能与O(N)有关.我无法真正看到如何避免在这里筑巢......任何正确方向的指针都会受到赞赏.
Float f = new Float(10.71);
byte b = (byte)f;
Run Code Online (Sandbox Code Playgroud)
我明白了
Cannot cast from Float to byte
Run Code Online (Sandbox Code Playgroud)
为什么我要这样做?
byte b = (byte)(float)f;
Run Code Online (Sandbox Code Playgroud) 假设我有一个这样的A文档:
<document>
<element>
<value>1</value>
<wom>bat</wom>
</element>
<bar>
<baz />
<baz />
<baz />
</bar>
</document>
Run Code Online (Sandbox Code Playgroud)
和这样的B文档:
<document>
<element>
<value>2</value>
</element>
<bar>
</bar>
</document>
Run Code Online (Sandbox Code Playgroud)
结果如下所示:
<document>
<element>
<value>2</value>
<wom>bat</wom>
</element>
<bar>
</bar>
</document>
Run Code Online (Sandbox Code Playgroud)
因此,我想要实现的目标是用文档Belement提供的值覆盖文档A中标记(如 )中的值,但保持同级值不变。然而,如果B中的标签为空(叶),我希望A中的对应标签也被清空。我已经检查过这个问题,但它是合并而不是覆盖。我怎么解决这个问题?
澄清: A和B文档具有相同的结构,但B 的元素较少。我必须清空A中B中为空的每个元素,并且如果元素不为空,我必须覆盖该元素中的每个内部元素(请参阅我的示例)。
我想仅使用HTML5和CSS创建这样的列表:
1 First
1.1 Indent 1
1.2 Indent 2
2 Second
2.1 Indent 1
2.2 Indent 2
2.2.1 More depth
Run Code Online (Sandbox Code Playgroud)
我已经检查了有序列表上的多个教程,但似乎<ol>标签没有这样做的选项.是否可以使用HTML5和CSS?
我尝试了 Unitils 工具,它真的很棒,但没有为您提供排除字段的选项。这样做的唯一方法是将对象设置为 null 并启用标志“IGNORE_DEFAULTS”,但在我的情况下它没有帮助,因为我有一些由系统自动生成的 ID。因此,如果我可以将 id 添加到排除列表中,那就太完美了。
我也尝试过 Mockito ReflectionEquals 但没有帮助,因为我需要一个字段到字段的比较。
还有其他有用的东西吗?我正在寻找数小时但没有成功。
先感谢您!
public void foo(Class<? extends Number> value) {
// compilation error
processNumber(value);
}
public void processNumber(Number num) {
// do something about this number.
}
Run Code Online (Sandbox Code Playgroud)
我想从Number(Integer,Double ..etc)的任何子类型调用"foo".任何人都可以向我解释我该怎么办?
foo(new Integer(5)); // compilation error
Run Code Online (Sandbox Code Playgroud) 我的问题是为什么我应该使用final来装饰变量,列表?它由匿名内部类的实例使用而不是final,它不会编译.
代码如下所示:
public class TwoThreadsOneListCurrModi
{
public static void main(String[] args)
{
final List<String> list = Collections.synchronizedList(new ArrayList<String>());
for (int i =0 ; i<20;i++)
list.add(String.valueOf(i));
Thread t1 = new Thread(new Runnable(){
@Override
public void run()
{
synchronize(list) {
System.out.println("size of list:" +list.size());
}
}
});
t1.start();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用普通课,那很好.
public class TwoThreadsOneListCurrModi2
{
public static void main(String[] args)
{
final List<String> list = Collections.synchronizedList(new ArrayList<String>());
initialize list;
Thread t1 = new WorkThread(list);
Thread t2 = new WorkThread(list);
t1.start();
t2.start();
} …Run Code Online (Sandbox Code Playgroud) 我已经读到使用@Override注释带来了许多好处,并且共识是你应该在每个被覆盖的方法上使用它.
@Override在构造函数中使用注释也被视为一种好的做法吗?
假设我编写了一个程序,它创建了很多String对象和intern()它们:
String someString = param1 + param2;
someString.intern();
Run Code Online (Sandbox Code Playgroud)
这对于一小组字符串来说很好,但是如果我尝试创建十亿个字符串String呢?(或者说亿亿亿?)据我所知,JVM 在PermGen区域为s 维护一个常量池,而PermGen没有得到GC -ed.String
因此,如果我String在循环中创建了过多的对象,但是我删除了对它们的引用,那么它们将得到GC -ed(我将用尽PermGen空间)吗?这些String都是独一无二的,没有任何重复.
我想根据--debug交换机是否存在来修改我的应用程序的工作方式.我在我的@Configuration文件中试过这个:
@Value("\${debug}")
lateinit var debug: String
Run Code Online (Sandbox Code Playgroud)
但是春天说
无法在值"$ {debug}"中解析占位符'debug'
如何查询--debug选项的状态?
java ×8
algorithm ×1
annotations ×1
casting ×1
comparison ×1
concurrency ×1
constructor ×1
css ×1
generics ×1
html5 ×1
junit ×1
jvm ×1
kotlin ×1
memory ×1
nested-loops ×1
object ×1
permgen ×1
saxon ×1
spring ×1
spring-boot ×1
string ×1
xml ×1
xslt ×1
xslt-2.0 ×1