我被要求编写自己的实现来删除数组中的重复值.这就是我创造的.但经过1,000,000个元素的测试后,需要很长时间才能完成.我可以做些什么来改进我的算法或删除任何错误?
我需要写我自己的实现-不使用Set,HashSet等等.或者任何其他工具,如迭代器.只需一个数组即可删除重复项.
public static int[] removeDuplicates(int[] arr) {
int end = arr.length;
for (int i = 0; i < end; i++) {
for (int j = i + 1; j < end; j++) {
if (arr[i] == arr[j]) {
int shiftLeft = j;
for (int k = j+1; k < end; k++, shiftLeft++) {
arr[shiftLeft] = arr[k];
}
end--;
j--;
}
}
}
int[] whitelist = new int[end];
for(int i = 0; i < end; …Run Code Online (Sandbox Code Playgroud) 我知道这样的话题被问过好几次,但我的问题是关于整个32位int的溢出.例如:
11111111111111111111111111111111 +
00000000000000000000000000000001 =
00000000000000000000000000000000 //overflow!
Run Code Online (Sandbox Code Playgroud)
我找到了类似问题的主题,但算法并不完美.
11111111111111111111111111111111 +
00000000000000000000000000000000 =
00000000000000000000000000000000 //overflow!
Run Code Online (Sandbox Code Playgroud)
有没有简单快捷的方法来检查这个?
java integer bit-manipulation integer-overflow integer-arithmetic
我有这个使用指向成员函数的示例代码,我想在运行时更改它,但我无法使其工作.我已经试过了this->*_currentPtr(4,5) (*this)._currentPtr(4, 5).在同一个类中调用指向方法的正确方法是什么?
错误:表达式必须具有(指针指向)函数类型
#include <iostream>
#include <cstdlib>
class A {
public:
void setPtr(int v);
void useFoo();
private:
typedef int (A::*fooPtr)(int a, int b);
fooPtr _currentPtr;
int foo1(int a, int b);
int foo2(int a, int b);
};
void A::setPtr(int v){
if(v == 1){
_currentPtr = foo1;
} else {
_currentPtr = foo2;
}
}
void A::useFoo(){
//std::cout << this->*_currentPtr(4,5); // ERROR
}
int A::foo1(int a, int b){
return a - b;
}
int A::foo2(int a, int b){ …Run Code Online (Sandbox Code Playgroud) 我正在寻找允许我在显示屏上绘制单个像素的方法.例如,当我点击鼠标时,我想要点击像素的位置来改变颜色.我知道如何阅读鼠标pos,但我找不到简单的像素绘制(有screen.fill方法,但它没有按我的意愿工作).
如何mark()和reset()方法一步一步完成(在下面的代码中)?我试着编写自己的例子,但是开始抛出错误的标记异常或类似的东西,我无法理解在这段代码中放置标记和重置方法有什么意义,因为我看不出这个或没有区别.
import java.io.*;
class BufferedInputStreamDemo {
public static void main(String args[]) {
String s = "© is a copyright symbol, "
+ "however © isn't.\n";
byte buf[] = s.getBytes();
ByteArrayInputStream in = new ByteArrayInputStream(buf);
int c;
boolean marked = false;
//try_with_resources
try (BufferedInputStream f = new BufferedInputStream(in)) {
while ((c = f.read()) != -1) {
switch (c) {
case '&':
if (!marked) {
f.mark(32);
marked = true;
} else {
marked = false;
}
break;
case …Run Code Online (Sandbox Code Playgroud) Camel in Action书中的生产者和消费者的定义对我来说有点混乱.我已经读过类似问题的其他两个答案,但我仍然觉得不是那样的.
生产者是Camel抽象,它指的是能够创建消息并将消息发送到端点的实体.图1.10说明了生产者适应其他Camel概念的位置.当需要将消息发送到端点时,生产者将创建交换并使用与该特定端点兼容的数据填充它.例如,a
FileProducer会将消息正文写入文件.甲JmsProducer,在另一方面,将映射骆驼消息到javax.jms.Message其发送到JMS目的地之前.这是Camel的一个重要特性,因为它隐藏了与特定传输交互的复杂性.使用者是接收生产者生成的消息的服务,将它们包装在交换中,然后发送它们进行处理.消费者是在Camel中路由交换的来源.回顾图1.10,我们可以看到消费者与其他Camel概念的契合程度.要创建新的交换,消费者将使用包装正在使用的有效负载的端点.然后使用处理器使用路由引擎启动Camel中的交换路由.
谁在实际创建交易所?典型的沟通渠道的哪一方是生产者和消费者?从上面的文字我不能真正说出谁对此负责.如果有人可以提供一张照片(书中的那张照片对我来说还不清楚),那将是很棒的,其中究竟是生产者和消费者,并解释他们如何以简单的方式工作.也许一些例子也会有用.
好吧也许最好举一个例子,有人可以告诉我它是如何工作的.想象一下,我们想要从文件夹中获取文件并将它们放在JMS队列中,然后从那里发送它们以进行进一步处理,最终保存在磁盘上.
根据我的照片,生产者,消费者到底在哪里?我意识到什么是组件和端点.
我有这个代码,我无法理解equal_range方法返回迭代器的部分.我知道范围是配对对象里面有两个多图对象,但是我没有得到,这就是为什么'for (it = range.first; it != range.second; ++it)'- 这究竟是 什么意思?
// multmap.cpp -- use a multimap
#include <iostream>
#include <string>
#include <map>
#include <algorithm>
typedef int KeyType;
typedef std::pair<const KeyType, std::string> Pair;
typedef std::multimap<KeyType, std::string> MapCode;
int main()
{
using namespace std;
MapCode codes;
codes.insert(Pair(415, "San Francisco"));
codes.insert(Pair(510, "Oakland"));
codes.insert(Pair(718, "Brooklyn"));
codes.insert(Pair(718, "Staten Island"));
codes.insert(Pair(415, "San Rafael"));
codes.insert(Pair(510, "Berkeley"));
cout << "Number of cities with area code 415: "
<< codes.count(415) << endl;
cout …Run Code Online (Sandbox Code Playgroud) 我了解JPA并负责制作数据库并为其插入一些值.我想知道如何找出最近插入的对象的ID是什么,所以我找到了一种方法,我需要使用flush方法EntityManager.
不幸的是我得到了
在工作单元克隆中遇到零或零主键
我使用上述方法时的异常.我认为问题在于我的数据库已全部ID's设置为自动增量(我使用ORACLE 11G Express),所以在提交之前它null有价值并且它回滚事务.
我能做些什么来修复它?
这是DB(ID是自动增量[oracle中的序列和触发器]):

public class Client {
public static void main(String[] args) {
EntityManagerFactory emf =
Persistence.createEntityManagerFactory("JpaIntroductionPU");
EntityManager em = emf.createEntityManager();
EntityTransaction et = em.getTransaction();
et.begin();
Address ad1 = new Address();
ad1.setStreet("Skaraktki");
ad1.setCode("64-340");
em.persist(ad1);
em.flush();
System.out.println(ad1.getAId());
et.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
地址类
@Entity
@Table(name = "ADDRESS")
@NamedQueries({
@NamedQuery(name = "Address.findAll", query = "SELECT a FROM Address a"),
@NamedQuery(name = "Address.findByAId", query = "SELECT a FROM …Run Code Online (Sandbox Code Playgroud) 我正在尝试Kotlin,我遇到了一个我无法解决的小问题.当我有以下结构时,我可以将元素放入地图中:
val map = HashMap<String, String>()
map["asd"] = "s"
map.put("34", "354")
Run Code Online (Sandbox Code Playgroud)
然而,当我创建一个带有Map界面的地图时,我只能阅读它们,我做错了什么?
val map: Map<String, String> = HashMap<String, String>();
map.put("24", "34") //error
map["23"] = "23" //error
Run Code Online (Sandbox Code Playgroud)
或者也许我对Kotlin中的接口感到困惑?
我是Spring Framework的新手,所以我决定买一本书("Spring in action"第3版).目前我的第一章涵盖了基础知识 - 依赖注入(DI)和面向方面编程(AOP).
我设法运行显示DI的代码.
1#骑士实施的界面
package com.springinaction.knights;
public interface Knight {
void embarkOnQuest() throws QuestException;
}
Run Code Online (Sandbox Code Playgroud)
1#骑士班
package com.springinaction.knights;
public class BraveKnight implements Knight {
private Quest quest;
public BraveKnight(Quest quest) {
this.quest = quest; //<co id="co_injectedQuest"/>
}
public void embarkOnQuest() throws QuestException {
quest.embark();
}
}
Run Code Online (Sandbox Code Playgroud)
#2Quest界面
package com.springinaction.knights;
public interface Quest {
void embark() throws QuestException;
}
Run Code Online (Sandbox Code Playgroud)
#2Quest例外
package com.springinaction.knights;
public class QuestException extends RuntimeException {
private static final long serialVersionUID = 1L;
}
Run Code Online (Sandbox Code Playgroud)
#2Quest类型类实现 …
java ×7
c++ ×2
aop ×1
apache-camel ×1
arrays ×1
dictionary ×1
integer ×1
java-ee ×1
java-io ×1
jpa ×1
kotlin ×1
multimap ×1
optimization ×1
oracle ×1
pygame ×1
python ×1
spring ×1
spring-aop ×1
sql ×1
stl ×1