小编Joh*_*Dow的帖子

TypeError:+:'dict_items'和'dict_items'的不支持的操作数类型

我试着总结两个这样的词典:

my_new_dict = dict(my_existing_dict.items() + my_new_dict.items())
Run Code Online (Sandbox Code Playgroud)

但收到错误

TypeError: unsupported operand type(s) for +: 'dict_items' and 'dict_items'
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

python python-3.x

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

将矩阵拆分为4个子矩阵,其总和之间的差异最小

我必须找到4个子矩阵的总和之间的差异,这是在以任何方式分割矩阵A之后得到的,以便获得子矩阵之和之间的最小差异.

例如,对于矩阵A,

 3   0   2  -8  -8
 5   3   2   2   3
 2   5   2   1   4
 3   4  -1   4   2
-3   6   2   4   3
Run Code Online (Sandbox Code Playgroud)

我可以像这样分开它:

 3 | 0   2  -8  -8
 5 | 3   2   2   3
 2 | 5   2   1   4
 -------------------
 3   4  -1 |  4  2
-3   6   2 |  4  3
Run Code Online (Sandbox Code Playgroud)

每个子矩阵内所有元素的总和给出以下结果:

10 | 8
-------
11 | 13
Run Code Online (Sandbox Code Playgroud)

然后,我计算总和之间所有可能的绝对差异,即

abs(10 - 8)  = 2
abs(10 - 11) …
Run Code Online (Sandbox Code Playgroud)

algorithm matlab r graph matrix

7
推荐指数
1
解决办法
696
查看次数

Java字符串到数学方程

我需要实现函数public int eval(String infix) {...} ,当我像这样使用它时:

eval("3+2*(4+5)") 
Run Code Online (Sandbox Code Playgroud)

我必须得到21.

算术表达式可以包含'+','*'和括号.

那么,我怎样才能将其转换为数学方程?我不能使用非标准的库.

更新:找到解决方案.

它是2种方式:波兰表示法和使用ScriptEngine.


java

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

找到矩阵中任何矩形之和的最快方法

我有amxn矩阵,希望能够计算任意矩形子矩阵的总和.对于给定的矩阵,这将发生几次.我应该使用什么数据结构?

例如,我想在矩阵中找到矩形的总和

1   2   3   4
5   6   7   8
9   10  11  12
13  14  15  16
Run Code Online (Sandbox Code Playgroud)

总和是68.

我要做的是逐行累积它:

1   2   3   4
6   8   10  12
15  18  21  24
28  32  36  40
Run Code Online (Sandbox Code Playgroud)

然后,如果我想找到矩阵的总和,我只需积累 28,32,36,40 = 136.只有四个操作而不是15个.如果我想找到第二和第三行的总和,我只累加15,18,21,24并减去1,2,3,4 = 6 + 8 + 10 + 12 + 15 + 18 + 21 + 24 = 68.但在这种情况下,我可以使用另一个矩阵,按列累积这个矩阵:

1   3   6   10
5   11  18  26
9   19  30  42
13  27  42  58
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我只是总和 …

algorithm math matrix

4
推荐指数
1
解决办法
3175
查看次数

检查值是否在数组中的最快方法

-1531/ 之间有一些值的数组,我必须检查,如果有一些x在这个数组中的~300 000 000次数.因为有负值,我无法创建布尔数组.现在我HashSet从原始数组和使用.contains()方法创建,但这太慢了.有没有更快的方法或技巧?

更新我从另一个创建这个数组(所以我可以使用我想要的任何结构)

java algorithm

4
推荐指数
1
解决办法
161
查看次数

Java中2d int数组优化的洪水填充

我正在编写自己的 Flood Fill 实现。

我想出了这个代码:

  public static void fillArea(int x, int y, int original, int fill, int[][] arr) {
        Stack<int[]> q = new Stack<int[]>();
        int[] w = new int[2]; //to the west
        int[] e = new int[2]; //to the east

        if (arr[x][y] != original) {
            return;
        }

        q.push(new int[]{x, y});

        while (!q.isEmpty()) {
            int[] pos = (int[]) q.pop();
            int i = pos[0];
            int j = pos[1];
            if (arr[i][j] == original) {
                e[0] = i;
                e[1] = j;
                w[0] = i; …
Run Code Online (Sandbox Code Playgroud)

java algorithm path-finding flood-fill

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

Prolog结合了两个列表

例如,我有A = [a,b,c,d]B = [[q,w,e],[r,t],[y,u],[i,o]]我想创建对,C = [[a,[q,w,e]],[b,[r,t]],[c,[y,u]],[d,[i,o]]]. 我可以创建对列表,但我不想将每个人彼此组合.有一个简单的方法吗?我无法正确地向Google定义问题.

list prolog nested-lists

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

PHP警告:mysql_fetch_array():提供的参数不是有效的MySQL结果资源

    <?php
    session_start();
    $user = $_SESSION['login'];
    $mysql_connect = mysql_connect("localhost", "root", "");
    $mysql_select_db = mysql_select_db("site");
    $sql = "SELECT * FROM `msg_inbox` WHERE `to` = '$user'";
    $result = mysql_query($sql) or die(mysql_error());
    while ($row = mysql_fetch_array($result)) {    
            $mysql_connect = mysql_connect("localhost", "root", "");
            $mysql_select_db = mysql_select_db("site");
            $query = ("UPDATE msg_inbox  SET unread = 0 WHERE id= ".$row['id']);
            $result = mysql_query($query);
    }
Run Code Online (Sandbox Code Playgroud)

我收到错误:警告:mysql_fetch_array():提供的参数不是第8行的有效MySQL结果资源你能帮助我吗?

html php

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

我的程序在ModelSim中工作,但不适用于真正的FPGA板

有我的VHDL代码,还有BDF设计.

当我在ModelSim中模拟我的VHDL代码时,它工作正常,但是当我在Quartus中模拟它或上传到FPGA Cyclone板时,LED没有信号.IDK,我想以什么方式来看待.

fpga vhdl modelsim

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

循环i和j,其中i!= j

例如,我需要得到2值数组的所有组合,数字为{0,1,2},其中这两个数字不相同.我明白了

0 1
0 2
1 0
1 2
2 0 
2 1
Run Code Online (Sandbox Code Playgroud)

我忽略了

0 0
1 1
2 2
Run Code Online (Sandbox Code Playgroud)

现在我用

  for (int i= 0; i < L ; i++) {
                for (int j = 0; j < L; j++) {
                    if (i!= j) {
Run Code Online (Sandbox Code Playgroud)

但它很慢?对此有何解决方案?L将> 4000.

我在做什么是找到分裂矩阵到4个子矩阵的每个组合

例:

 3 | 0   2  -8  -8
 5 | 3   2   2   3
 2 | 5   2   1   4
 -------------------
 3   4  -1 |  4  2
-3   6   2 |  4  3 …
Run Code Online (Sandbox Code Playgroud)

java math combinations combinatorics

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

在桌前的四个空白行

当我通过浏览器看到它时,我在表格前面看到了四个空行.他们在哪里以及如何删除它们?

<body>
            <table>  
                <tr><td> Subject name:* </td><td>   <input type="text" name="subject_name"></td></tr>
                <br>   
                    <tr><td> Code of subject: </td><td> <input type="text" name="subject_code"></td></tr>
                    <br>
                        <tr><td> Description:*</td><td><input type="text" name="descriptions"></td></tr>
                        <br>
                            <tr><td> Teacher:*</td><td><input type="text" name="teacher"></td></tr>
                            <br>
                                <tr><td> Link:</td><td><input type="text" name="href"></td></tr>
                                <br>
                                    <tr><td> University:*</td><td><select id="continent" name="university" onchange="countryChange(this);">
                                                <option value="empty">Select a university</option>
                                                <option value="Chech technical university (CVUT)">Chech technical university (CVUT)</option>
                                                <option value="Charles university (UK)">Charles university (UK)</option>
                                                <option value="MIT">MIT</option>
                                                <option value="Harvard">Harvard</option>
                                            </select> </tr>

                                    </table>
                                    </body>
Run Code Online (Sandbox Code Playgroud)

谢谢

html

0
推荐指数
1
解决办法
1672
查看次数

C++代码说明

我有串行读取的数组,命名sensor_buffer.它包含21个字节.

gyro_out_X=((sensor_buffer[1]<<8)+sensor_buffer[2]);
gyro_out_Y=((sensor_buffer[3]<<8)+sensor_buffer[4]);
gyro_out_Z=((sensor_buffer[5]<<8)+sensor_buffer[6]);
acc_out_X=((sensor_buffer[7]<<8)+sensor_buffer[8]);
acc_out_Y=((sensor_buffer[9]<<8)+sensor_buffer[10]);
acc_out_Z=((sensor_buffer[11]<<8)+sensor_buffer[12]);
HMC_xo=((sensor_buffer[13]<<8)+sensor_buffer[14]);
HMC_yo=((sensor_buffer[15]<<8)+sensor_buffer[16]);
HMC_zo=((sensor_buffer[17]<<8)+sensor_buffer[18]);
adc_pressure=(((long)sensor_buffer[19]<<16)+(sensor_buffer[20]<<8)+sensor_buffer[21]);
Run Code Online (Sandbox Code Playgroud)

这行是做什么的:

variable = (array_var<<8) + next_array_var
Run Code Online (Sandbox Code Playgroud)

它对8位有什么影响?

<<8  ?
Run Code Online (Sandbox Code Playgroud)

更新:用另一种语言(java,处理)的任何例子?

处理示例:(为什么使用H像标题?).

/*
 * ReceiveBinaryData_P
 *
 * portIndex must be set to the port connected to the Arduino
 */
import processing.serial.*;

Serial myPort;        // Create object from Serial class
short portIndex = 1;  // select the com port, 0 is the first port

char HEADER = 'H';
int value1, value2;         // Data received from the serial port

void …
Run Code Online (Sandbox Code Playgroud)

c++ bitwise-operators

0
推荐指数
1
解决办法
258
查看次数

在Count排序数组中查找中间元素

所以,我有这样的数组:

a[1] = 2
a[4] = 3
a[8] = 1
Run Code Online (Sandbox Code Playgroud)

代表这个序列 1 1 4 4 4 8

我需要找到中间元素或元素(奇数和偶数); 在这个例子中它是4.

我怎么能这么快?

我的代码很慢:

static int B(int[] array, int size) {       
    int c = 0;
    for (int i = 0; i < array.length; i++) {
        for (int j = 0; j < array[i]; j++) {
            c++;
            if (c == size / 2) {
                return i;    
            }
        }
    }   
}
Run Code Online (Sandbox Code Playgroud)

java sorting algorithm

0
推荐指数
1
解决办法
3958
查看次数