小编Ern*_*ill的帖子

在for循环中重新创建ArrayList的最快方法

在Java中,使用以下函数为巨大的矩阵X打印其列不同的元素:

// create the list of distinct values
List<Integer> values = new ArrayList<Integer>();

// X is n * m int[][] matrix
for (int j = 0, x; j < m; j++) {
    values.clear();
    for (int i = 0; i < n; i++) {
        x = X[i][j];
        if (values.contains(x)) continue;
        System.out.println(x);
        values.add(x);
    }
}
Run Code Online (Sandbox Code Playgroud)

首先,我按列(索引j)和内部按行(索引i)进行迭代.

对于不同的矩阵,此函数将被调用数百万次,因此应优化代码以满足性能要求.我想知道值数组.使用values = new ArrayList<Integer>();values = null替代它会更快values.clear()吗?

java arraylist clear

6
推荐指数
1
解决办法
4936
查看次数

什么时候用c/c ++命令分号?

if(...) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中看来a ;是可选的,什么时候}在c/c ++中需要后用分号?

c c++ syntax

5
推荐指数
2
解决办法
8456
查看次数

libssh2 C 编译

这是我第一次用 C 做一个项目。我只是想制作一个 SSH 客户端。

我的代码是从 libssh2 站点复制的

http://www.libssh2.org/examples/ssh2.html

但是当我运行它时,我收到以下错误?

main.o: In function `main':
main.c:(.text+0xbe): undefined reference to `libssh2_init'
main.c:(.text+0x1a7): undefined reference to `libssh2_session_init_ex'
main.c:(.text+0x1bf): undefined reference to `libssh2_session_startup'
main.c:(.text+0x209): undefined reference to `libssh2_hostkey_hash'
main.c:(.text+0x282): undefined reference to `libssh2_userauth_list'
main.c:(.text+0x3e3): undefined reference to `libssh2_userauth_password_ex'
main.c:(.text+0x443): undefined reference to `libssh2_userauth_keyboard_interactive_ex'
main.c:(.text+0x4b9): undefined reference to `libssh2_userauth_publickey_fromfile_ex'
main.c:(.text+0x529): undefined reference to `libssh2_channel_open_ex'
main.c:(.text+0x58d): undefined reference to `libssh2_channel_setenv_ex'
main.c:(.text+0x5d9): undefined reference to `libssh2_channel_request_pty_ex'
main.c:(.text+0x633): undefined reference to `libssh2_channel_process_startup'
main.c:(.text+0x674): undefined reference to `libssh2_channel_free'
main.c:(.text+0x6a0): …
Run Code Online (Sandbox Code Playgroud)

c ssh linker netbeans

5
推荐指数
1
解决办法
2488
查看次数

怎么以及什么是物理闹钟编程

我希望这个问题适合这里,否则很抱歉.

我有一个物理闹钟(5 $),它已被编程为贪睡,灯光效果等.

通常,所有这些设备,如计算器,高保真系统(带显示屏)等. 他们如何以及使用哪种语言编程?

他们都需要一个小型处理器吗?......还是有一个处理器的小兄弟,这么便宜又快速地完成这项工作?

我们可以/可以对这些设备进行重新编程以进行定制吗?哪种编程语言?

这真让我好奇.

谢谢你的时间

assembly

5
推荐指数
1
解决办法
1117
查看次数

Java Stringbuilder.replace

考虑以下输入:

String[] input = {"a9", "aa9", "a9a9", "99a99a"};
Run Code Online (Sandbox Code Playgroud)

使用StringBuilder直接替换9之前的任何数字与字母表后面的下一个字母时,最有效的方法是什么?

处理完这些输入后,输出应为:

String[] output = {"b9", "ab9", "b9b9", "99b99a"}
Run Code Online (Sandbox Code Playgroud)

我一直在摸不着头脑,而StringBuilder.setCharAt是我能想到的最好的方法.

任何建议或意见将不胜感激.

java string stringbuilder

5
推荐指数
1
解决办法
1090
查看次数

当数组超出范围时抛出异常

我有一个矩阵类,使用[] []来访问元素.当一个(或两个)索引超出范围时,我必须抛出CIndexException.它是以"无效索引[a] [b]"格式存储文本的类,其中a和b是数字.

这是我当前实现的CIndexException类

class CIndexException
{
    string text;
public:
    CIndexException (int a, int b)
    {
        ostringstream oss;
        oss << "Invalid index [";
        oss << a;
        oss << "][";
        oss << b;
        oss < "]";

        text = oss.str();
     }

     string get() const
     {
         return text;
     }
};
Run Code Online (Sandbox Code Playgroud)

Matrix表示为二维的二维数组,它在构造函数中初始化:

CMatrix(int r, int c)
{
    colls = c;
    rows = r;
    mat = new double * [rows];

    for (int i = 0; i < rows; i++)
    {
        mat[i] = new double [colls]; …
Run Code Online (Sandbox Code Playgroud)

c++

5
推荐指数
1
解决办法
2692
查看次数

不能访问封闭的类型实例

我在Eclipse中编写了这个Java接口程序,但在MyTriangle下面有一个红线tmp = new MyTriangle(); 当我运行程序时,我收到此错误:

不能访问Question1类型的封闭实例.必须使用Question1类型的封闭实例限定分配(例如,xnew A(),其中x是Question1的实例).

 public static void main(String[] args) 
    {   
     MyTriangle tmp = new MyTriangle();
     tmp.getSides();
     System.out.println();
     System.out.println("The area of the triangle is " + tmp.computeArea());
     }

interface Triangle
{
 public void triangle();
 public void iniTriangle(int side1, int side2, int side3);
 public void setSides(int side1, int side2, int side3);
 public void getSides();
 public String typeOfTriangle(); 
 public double computeArea();            
}

 class MyTriangle implements Triangle
 {
  private int side1,side2,side3;
  public  void triangle()
  {
    this.side1 = 3; …
Run Code Online (Sandbox Code Playgroud)

java

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

包含双字段的struct的大小

首先,我理解结构中的字节填充.但我仍然有一个小测试包含struct中的双字段,我不知道如何解释这个:

typedef struct {
    char a;
    double b;
}data;

typedef struct{
    char a;
    int b;
}single;

int main(){
    printf("%d\n",sizeof(double));
    printf("%d\n",sizeof(single));
    printf("%d\n",sizeof(data));
}
Run Code Online (Sandbox Code Playgroud)

通过这个测试,答案是:8 816.

为什么这个结果会让我思考?

通过第二次测试,我们可以看到我机器上的单词大小是4个字节.

通过第一次测试,我们可以看到double的大小是8个字节.

所以,在struct data:结果应该是12个字节:char为4个字节,double为8个字节.

但是,我不知道为什么结果是16个字节.(跟我这么奇怪)

请为我解释一下,谢谢:)

c struct sizeof

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

Java> Eclipse和SQL Server

我是Java的新手(虽然我对C#经验丰富)无论如何,我在过去的几个小时里用Google搜索,我无法理解某些东西,希望你能帮助我一些指导.

我想将Eclipse与SQL Server一起使用,我不知道我是怎么做的,我看过一些名为SQLExplorer的插件,但我无法确定与之集成的步骤是什么.

关于:

  • 这样做的最佳方式是什么?
  • 任何指南?完整教程?
  • 也许你有一些SQL连接的源代码示例?
  • 我应该使用该插件吗?怎么样?
  • 为什么这个问题很难找到信息呢?是不是eclipse熟悉SQL?

谢谢你们.

java sql connect

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

Atkin的筛子发生故障,极高的极限

我试图解决Project Euler问题10,其中要求用户计算少于200万的所有素数的总和.我通过研究维基百科上伪代码写了以下内容,但它产生的答案似乎是不正确的,至少根据网站每当我尝试输入它时:

int main()
{
   int limit = 2000000;
   int answer = 5;

   std::vector<bool> isPrime;
   for( int i = 0; i < limit; ++i ){
      isPrime.push_back( false );
   }

   int n = 0;
   for( int x = 1; x <= ceil( sqrt( limit ) ); ++x ){
      for( int y = 1; y <= ceil( sqrt( limit ) ); ++y ){

         n = 4*x*x + y*y;
         if( (n <= limit) && ( n%12 == …
Run Code Online (Sandbox Code Playgroud)

c++ sieve-of-atkin

3
推荐指数
1
解决办法
196
查看次数