天道酬勤,学无止境

arrays

In for each loop i want to skip ", " in last iteration

问题 我想在最后一次迭代中跳过打印“,”。 我想要名称,名称,名称等输出 现在我得到的输出是名字,名字,名字, StringBuffer stringBuffer = new StringBuffer(); for(MovieModel.Cast cast : movieModelList.get(position).getCastList()){ stringBuffer.append(cast.getName() + ", "); } 回答1 StringBuffer stringBuffer = new StringBuffer(); for(MovieModel.Cast cast : movieModelList.get(position).getCastList()){ if (stringBuffer.length() != 0) { stringBuffer.append(","); } stringBuffer.append(cast.getName()); } 回答2 // copied from https://commons.apache.org/proper/commons-lang/apidocs/src-html/org/apache/commons/lang3/StringUtils.html public static String join

2022-07-11 10:01:16    分类:技术分享    java   android   arrays   android-layout

Why is indexOf(char) is 0 if the value exists? [duplicate]

问题 这个问题在这里已经有了答案: indexOf中的0是什么意思? (1 个回答) 5年前关闭。 为什么firstHalf.indexOf(secondHalfArr[i]) 0 ? "use strict"; let word = "9999999999", len = word.length, oddSecondHalfStarter = (len % 2 == 0) ? len / 2 : 1 + len / 2, firstHalf = word.substr(0, len / 2), secondHalf = word.substr(oddSecondHalfStarter, len), firstHalfArr = word.substr(0, len / 2).split(''), secondHalfArr = word.substr(oddSecondHalfStarter, len).split(''), firstHalfLength = firstHalf.length, secondHalfLength = secondHalf.length, charsToReplace = 0; for (let i = 0; i < firstHalfLength; i++) { if (firstHalf.indexOf(secondHalfArr[i]) <

2022-07-11 09:59:36    分类:技术分享    javascript   arrays   ecmascript-6   strict

MPI_Gatherv: Garbage values received in root's array

问题 我正在尝试在C中实现MPI_Gatherv函数。 根据我的程序,包括 root 在内的每个进程都应该创建一个大小等于 ( process' rank + 1 ) 的本地数组,它将在所有单元格中保持进程的排名。 然后将这个本地数组收集到根的 rcv_array 中。 不知何故,我得到了垃圾值。 有人可以告诉我我做错了什么吗? 我也是 MPI 的新手,很难理解 MPI_Gatherv 的disp和rcv_count 。 我的代码: #include<stdio.h> #include<mpi.h> #include<stdlib.h> int sum(int); int main(int argc, char **argv){ int proc_count, proc_rank, root = 0; int *localdata = NULL; int *rcv_array = NULL; int *disp = NULL; int *rcv_count = NULL; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &proc_count); MPI_Comm_rank(MPI_COMM_WORLD, &proc_rank); if(proc_rank == root){ rcv_array = malloc((sum

2022-07-11 09:57:46    分类:技术分享    c   arrays   mpi

Query for similar array in MongoDB

问题 我想在我的 MongoDB 集合中搜索具有相似数组的文档,并按相似值排序。 示例: 我会搜索{chars:['a', 'b', 'c']} 我已经存储了这些文件: 1. {chars:['s', 'e', 'c']} 2. {chars:['i', 'l', 'd']} 3. {chars:['b', 'a', 'c']} 4. {chars:['f', 'c', 'b']} 我想得到一些 ORDERED 之类的东西: [ {chars:['b', 'a', 'c'], similarity: 1.0}, {chars:['f', 'c', 'b'], similarity: 0.66}, ... ] 我应该使用哪种运算符或查询策略来获得类似的东西? 谢谢! 回答1 感谢所有试图帮助我的人。 我感谢您的帮助。 我通过聚合管道找到了解决方案。 var myArray = ['a', 'b', 'c']; db.test.aggregate([ { $unwind: '$chars', }, { $match: { chars: { $in: myArray } }, }, { $group: { _id: '$_id', count: { $sum: 1 }, }, }, { $project: { _id: 1, count: 1, score: { $divide: ['

2022-07-11 09:54:54    分类:技术分享    arrays   mongodb

Efficient way to delete elements in one numpy array from another

问题 从另一个numpy数组中删除元素的最佳方法是什么? 本质上,我在np.delete()之后,数组的顺序无关紧要。 import numpy as np a = np.array([2,1,3]) print a b = np.array([4,1,2,5,2,3]) b = np.delete(b, a) # doesn't work as desired print b # want [4,5,2] 对于大型数组,迭代a的元素非常慢。 回答1 这是一种使用sorting的方法 - def remove_first_match(a,b): sidx = b.argsort(kind='mergesort') unqb, idx = np.unique(b[sidx],return_index=1) return np.delete(b,sidx[idx[np.in1d(unqb,a)]]) 样品运行 - In [177]: a = np.array([2,1,3]) ...: b = np.array([4,1,2,5,2,3,2,3]) ...: In [178]: remove_first_match(a,b) Out[178]: array([4, 5, 2, 2, 3]) In [179]: a = np.array([2,2,1,3]) ...: b = np

2022-07-11 09:53:32    分类:技术分享    python   arrays   performance   numpy

Java: Using percentages to fill 2D array?

问题 int array[][] = new array[10][10] for(int row=0; x<array.length;row++) { for(int col=0; col<array[0].length; col++) { array[row][col]= //Fill 15% A, 35% B, 50% C, } } 回答1 您的 int[][] 数组不会保存字符串。 这是获取具有所需 A、B 和 C 频率的 String[][] 数组的一种方法。 [C, B, A, C, C, C, B, B, B, C] [C, C, A, A, C, B, C, B, B, B] [B, A, C, C, C, C, C, B, B, C] [B, B, A, C, C, C, C, C, B, C] [A, C, B, C, A, A, C, C, B, B] [A, A, C, C, B, C, C, B, C, C] [C, B, C, C, B, C, B, C, B, A] [C, C, C, B, B, B, B, C, B, A] [B, A, C, B, C, C, C, B, B, B] [C, C, A, B, B, C, A, C, C, C] 这是代码。 package com.ggl.testing; import java.util

2022-07-11 09:46:50    分类:技术分享    java   arrays

Very large array - C array vs C++ array. Visual Studio - exceeds max (268435456)

问题 我正在尝试创建一个非常大的数组,然后我得到以下错误。 char largearray[1744830451]; 警告 LNK4084:总图像大小 1750372352 超过最大值(268435456); 图像可能无法运行 有人告诉我可以使用 C-array 而不是 C++ 。 我不确定我是否完全理解我朋友的反应。 我目前正在使用 Visual Studio 6.0 C++ 。 我是否需要让另一个编译器直接执行 C 语言,或者它是一种如何声明需要更改的数组的方法? 如果我需要更改编译器,有人有建议吗? 回答1 char array[size]语法意味着该数组将在已编译程序的数据部分中创建,而不是在运行时分配。 Win32 PE 代码不能超过 256MB(根据链接器的错误消息),但您声明的数组长度为 1.6GB。 如果你想要一个 1.6GB 的数组,请使用malloc (不要忘记调用free !) ...但是你到底为什么要运行 VC6? 回答2 如果您预先定义了大小,那么您将被限制为堆栈大小(堆栈大小较小但速度更快),因此最好动态定义大小,这意味着您的数据存储在堆中(堆大小较大但有点比堆栈慢)。 看看 http://gribblelab.org/CBootcamp/7_Memory_Stack_vs_Heap.html,它解释了堆栈和堆的区别。

2022-07-11 09:44:31    分类:技术分享    c++   c   arrays   visual-studio-6

Update array passed by reference with BASH

问题 我想编写一个函数,它接受一个数组变量名并更新内容。 例如: ARRAY1=("test 1" "test 2" "test 3") toUpper ARRAY1 for arg in "${ARRAY1[@]}"; do echo "arg=$arg" done # output arg=TEST 1 arg=TEST 2 arg=TEST 3 我做了一个粗略的尝试,这需要输入数组的副本。 使用间接引用,我能够创建输入变量的副本。 数组的副本用于获取元素的计数。 如果有更好的方法来做到这一点,请告诉我。 function toUpper() { local ARRAY_NAME=$1 local ARRAY_REF="$ARRAY_NAME[@]" # use an indirect reference to copy the array so we can get the count declare -a ARRAY=("${!ARRAY_REF}") local COUNT=${#ARRAY[@]} for ((i=0; i<$COUNT; i++)); do local VAL="${ARRAY[$i]}" VAL=$(echo $VAL | tr [:lower:] [:upper:]) echo "ARRAY[$i]=\"$VAL\"" eval "$ARRAY

2022-07-11 09:41:18    分类:技术分享    arrays   bash   pass-by-reference   indirection

Array modification in Java (changing array "resolution")

问题 我想创建一个函数来改变整数数组的大小,同时保持其“形状”。 目的是加快 FFT 的计算。 它返回一个大小为y的新数组,其中每个元素是它在旧数组中“覆盖”的元素的平均值。 例如,如果我有一个包含 3 个元素的数组w ,并且想要创建另一个包含 2 个元素的数组z ,那么第一个元素将是: z[0] = (1 * w[0] + 0.5 * w[1]) * 2 / 3 ,第二个元素是: z[1] = (0.5 * w[1] + 1 * w[2]) * 2 / 3 。 这有点像改变数组的“分辨率”。 (当然,对于小数字,四舍五入可能会丢失信息,但我需要它来处理相当大的数字,而几个数字并不重要。) 感觉这是一个非常简单的问题,但我花了太多时间在静脉上。 我确实有一些代码,虽然我让它几乎可以工作,但我认为我走错了路(行太多)。 基本上,它遍历原始数组,并计算如何划分每个元素,并使用局部变量跟踪将其放置在何处。 此外,我的搜索都出现了诸如动态更改数组大小之类的东西,这不是我想要的。 所以,这是一个可能的骨架: public int[] the_function (int[] w, int y) { int[] z = new int[y]; // Some code looping through the array return z; } 回答1 所以你想对数组应用过滤器?

2022-07-11 09:34:48    分类:技术分享    java   arrays

Compare values from array mysql php [duplicate]

问题 这个问题在这里已经有了答案: 使用 WHERE 子句将数组传递给查询17 个答案 11 个月前关闭。 您好我正在尝试将 2 个数组中的值与此查询进行比较,这是我知道的唯一方法: $session = "1,2,3," $table_name = "table1"; $column_name = "data1"; // value for test is 1,4,5, $sql = ""; $sql .= "SELECT * FROM $table_name WHERE "; $franquia = array(); $franquia = explode(",", $session); if (!empty($franquia)) { $final_id = array(); foreach ($franquia as $val) { if (trim($val) != '') { $final_id[] = $val; } } $count_data = count($final_id); foreach ($final_id as $key => $id) { if ($id > 0) { $sql .= " $id IN ($column_name) "; if ($key < $count_data - 1) { $sql .= "OR "; } } } } echo

2022-07-11 09:31:48    分类:技术分享    php   mysql   arrays