标签: nested-loops

我为什么要避免使用Java标签语句?

互联网上的每个人都说你应该避免在java中使用标签语句.但是,我发现它们在某些情况下非常有用,即嵌套循环.
我找不到令人满意的答案,为什么不使用它们.我认为标签的替代品往往会降低可读性或性能,或两者兼而有之.

那么什么使得标记的破坏和继续陈述如此糟糕?

java label continue break nested-loops

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

Ember.js:如何从Ember.Map查看数据

我想查看按部门分组的一些联系信息(姓名,电子邮件,...),但我无法通过Handlebars实现.

  • X部门

    • 联系x1信息
    • 联系x2信息
    • ...
  • Y部门

    • 联系y1信息
    • 联系y2信息
    • ...

我不知道我提前有多少个部门.因此,在我的控制器中,我尝试在Ember.Map中加载信息,其中部门是其键,而带有联系人信息的数组是每个部门的值.它是这样的:

map = Ember.Map.create();
// Load data from server into map
// m = {'Department X': [{name:'x1','email':'emailx1',...},{...}], 'Department Y':[....], ...}

{{#each department in map}}
    {{department}}
    {{#each contact in map.keys}}
        {{contact.name}} | {{contact.email}}
    {{#each}}
{{#each}}
Run Code Online (Sandbox Code Playgroud)

抛出一个错误,说"EmberCollectionView的内容必须实现Ember.Array.你传递了[object Object]".是否可以通过嵌套数据实现suh任务?欢迎任何帮助.谢谢.

nested-loops handlebars.js ember.js

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

依赖嵌套for循环的时间复杂度?

你能解释一下如何找到时间复杂度吗?

sum=0;
for(k=1;k<=n;k*=2)
  for(j=1;j<=k;j++)
     sum++;
Run Code Online (Sandbox Code Playgroud)

所以,我知道外部循环的时间复杂度为O(logn),但由于内部循环的迭代取决于外部循环的值,因此该算法的复杂性不是O(nlogn).

这本书说它是O(n).

我真的不明白它是怎么样的O(n)......有人可以解释一下......如果你能详细说明,我将非常感激btw:D

数学解决方案可以帮助我更好地理解......

algorithm logarithm time-complexity nested-loops

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

如果内部循环内的条件为真,则几个嵌套的'for'循环继续下一次外循环迭代

我知道这是非常低效和丑陋的代码,但如果我有三个for循环,嵌套在彼此内部如下:

for x in range(0, 10):
    for y in range(x+1, 11):
       for z in range(y+1, 11):
           if ...
Run Code Online (Sandbox Code Playgroud)

我想打破两个内部循环,如果if语句为真,则继续执行外循环的下一次迭代.可以这样做吗?

python continue break nested-loops python-3.x

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

我如何加快这个计划?

我目前正在尝试解决ProjectEuler问题,除了速度之外,我已经解决了所有问题.我几乎可以肯定程序执行速度这么慢的原因是由于嵌套循环.我会喜欢一些关于如何提高速度的建议.我是一名新手程序员,所以我不熟悉很多更高级的方法/主题.

public class Problem12 {

    public static void main(String[] args) {
        int num;

        for (int i = 1; i < 15000; i++) {
            num = i * (i + 1) / 2;
            int counter = 0;

            for (int x = 1; x <= num; x++) {
                if (num % x == 0) {
                    counter++;
                }
            }
            System.out.println("[" + i + "] - " + num + " is divisible by " + counter + " numbers."); …
Run Code Online (Sandbox Code Playgroud)

java performance loops nested-loops

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

不能迭代嵌套for循环作为通缉-python-可能是一个简单的错误

我尝试过以下代码:目的是生成一个字典,其中每个键都有一个列表作为值.第一次迭代顺利进行并根据需要生成项目,但第二个循环(嵌套for循环)不会按预期生成列表.

请帮我这个简单的代码.它一定有问题,代码如下:

 schop = [1, 3, 1, 5, 6, 2, 1, 4, 3, 5, 6, 6, 2, 2, 3, 4, 4, 5]
 mop =   [1, 1, 2, 1, 1, 1, 3, 1, 2, 2, 2, 3, 2, 3, 3, 2, 3, 3]
 mlist = ["1","2","3"]
 wmlist=zip(mop,schop)

 title ={}
 for m in mlist:
     m = int(m)
     k=[]
     for a,b in wmlist:
         if a == m:
            k.append(b)
     title[m]=k
 print(title)
Run Code Online (Sandbox Code Playgroud)

结果如下:

title: {1: [1, 3, 5, 6, 2, 4], 2: [], 3: []} …
Run Code Online (Sandbox Code Playgroud)

python nested-loops

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

流 - 嵌套集合 - 转换为地图

假设我有2节课.

课程班

public class Course {
    private int id;
    private String name;
}
Run Code Online (Sandbox Code Playgroud)

学生班

public class Student {
    private int id;
    private String name;
    private List<Course> courses;
}
Run Code Online (Sandbox Code Playgroud)

我有List<Student>,每个人Student都注册了多门课程.

我需要使用Java 8流API过滤掉结果,如下所示.

Map<courseId, List<Student>> 
Run Code Online (Sandbox Code Playgroud)

我在下面试过,但没有成功:

第一种方法

Map<Integer, List<Student>> courseStudentMap = studentList.stream()
    .collect(Collectors.groupingBy(
        student -> student.getCourses().stream()
            .collect(Collectors.groupingBy(Course::getId))));
Run Code Online (Sandbox Code Playgroud)

第二种方法

Map<Integer, List<Student>> courseStudentMap = studentList.stream()
    .filter(student -> student.getCourses().stream()
        .collect(Collectors.groupingBy(
            Course::getId, Collectors.mapping(Student::student, Collectors.toList()))));
Run Code Online (Sandbox Code Playgroud)

nested-loops java-8 java-stream

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

在javascript中从内循环跳出外循环

while(valid){
   for(loop through associative array){
      if(!valid){
         break;
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

我试图找到一种方法来从 if 语句中跳出 while 循环。到目前为止,最好的方法似乎是在 Javascript 中不存在的 goto 方法。导致 if 语句跳出它嵌套的两个循环的最佳方法是什么?在此先感谢您的帮助!

break nested-loops

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

使用linq和lambda表达式简化传统的foreach嵌套循环

(参见下面的代码片段)我想找到与coll2的项目匹配的coll1的所有项目(coll2的项目数<= coll1的项目数),并将查询结果放在coll3中.如何使用linq和lambda表达式实现它?当然,我可以简单地将coll2复制到coll3 :-)但这不是我的目标.我想知道使用linq和lambda来代替这种传统逻辑结构的方法.先感谢您.

        var coll1 = new List<int>() { 1, 2, 3, 4, 5 };
        var coll2 = new List<int>() { 2, 4 };
        var coll3 = new List<int>();
        foreach ( var selected in coll2 )
        {
            foreach ( var item in coll1 )
            {
                if ( selected == item )
                {
                    coll3.Add(item);
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

c# linq lambda nested-loops

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

使 R 中的嵌套 for 循环更高效

我正在从事一个研究项目,我想确定两个分布的等价性。我目前正在使用 Mann-Whitney Test for Equivalence 并且我正在运行的代码(下面)是由 Stefan Wellek (2010) 所著的 Test Statistical Hypotheses of Equivalence and Noninferiority 一书提供的。在运行我的数据之前,我正在使用具有相同均值和标准差的随机正态分布测试此代码。我的问题是有三个嵌套的 for 循环,当运行更大的分布时(如下例所示),代码需要永远运行。如果我只需要运行一次就不会出现这样的问题,但我正在做一个模拟测试并创建功率曲线,所以我需要运行此代码的多次迭代(大约 10,000)。目前,根据我如何改变分布大小,运行 10 个需要几天的时间,

任何有助于提高性能的帮助将不胜感激。

x <- rnorm(n=125, m=3, sd=1)
y <- rnorm(n=500, m=3, sd=1)

alpha <- 0.05
m <- length(x)
n <- length(y)
eps1_ <- 0.2 #0.1382 default
eps2_ <- 0.2 #0.2602 default

eqctr <- 0.5 + (eps2_-eps1_)/2 
eqleng <- eps1_ + eps2_

wxy <- 0
pihxxy <- 0
pihxyy <- 0

for (i in 1:m)
 for (j in 1:n) …
Run Code Online (Sandbox Code Playgroud)

r nested-loops equivalence

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