以下有两个数组,一个数组arr是班级里所有的学员的名称,一个数组currentarr是提交了每日反馈的学员名单,请创建一种算法,把未提交每日反馈的学员筛选出来
时间: 2023-04-29 11:06:49 浏览: 130
题目描述:有两个数组,一个数组arr是班级里所有学员的姓名,一个数组currentarr是提交了每日反馈的学员名单,请创建一种算法,把未提交每日反馈的学员筛选出来。
解题思路:对于未提交反馈的学员,必然不在currentarr数组中,所以我们可以通过遍历arr数组,找出不在currentarr数组中的学员,即为未提交反馈的学员。具体操作可以用两个for循环实现,时间复杂度为O(n^2),但也可以使用Python中的set集合运算来优化,时间复杂度为O(n)。
相关问题
有两个数组,一个数组arr是班级里所有学员的姓名,一个数组currentarr是提交了每日反馈的学员名单,请创建一种算法,把未提交每日反馈的学员筛选出来。
可以使用以下算法来筛选未提交每日反馈的学员:
1. 创建一个空数组`missingStudents`,用于存储未提交每日反馈的学员名单。
2. 遍历班级学员数组`arr`中的每个学员姓名。
3. 对于每个学员姓名,检查是否在提交了每日反馈的学员名单数组`currentarr`中出现。
4. 如果学员姓名不在`currentarr`中,则将其添加到`missingStudents`中。
5. 遍历完所有学员后,`missingStudents`将包含未提交每日反馈的学员名单。
下面是一个示例的Python代码实现:
```python
def get_missing_students(arr, currentarr):
missingStudents = []
for student in arr:
if student not in currentarr:
missingStudents.append(student)
return missingStudents
```
你可以调用这个函数并传入班级学员数组`arr`和提交了每日反馈的学员名单数组`currentarr`来获取未提交每日反馈的学员名单。
js 有两个数组,一个数组arr是班级里所有学员的姓名,一个数组currentarr是提交了每日反馈的学员名单,请创建一种算法,把未提交每日反馈的学员筛选出来。
对于 JavaScript,可以使用以下算法来筛选出未提交每日反馈的学员:
```javascript
function getMissingStudents(arr, currentarr) {
let missingStudents = [];
for (let i = 0; i < arr.length; i++) {
let student = arr[i];
if (!currentarr.includes(student)) {
missingStudents.push(student);
}
}
return missingStudents;
}
```
使用这个函数,你可以传入班级学员数组`arr`和提交了每日反馈的学员名单数组`currentarr`,来获取未提交每日反馈的学员名单。例如:
```javascript
let arr = ['Alice', 'Bob', 'Charlie', 'David'];
let currentarr = ['Alice', 'Charlie'];
let missingStudents = getMissingStudents(arr, currentarr);
console.log(missingStudents); // 输出 ["Bob", "David"]
```
在这个示例中,`arr`数组包含了班级学员的姓名,`currentarr`数组包含了提交了每日反馈的学员名单。调用`getMissingStudents`函数后,将返回一个包含未提交每日反馈的学员名单的数组`missingStudents`。
阅读全文