我知道执行此操作的强力方法是对图的所有顶点执行DFS.因此,对于此算法,复杂度将为O(V | V + E |).但有更有效的方法吗?
找到一个数组中只有两个数字,其中一个数字平均分割另一个数字 - 也就是说,除法运算的结果是整数
Input Arrays Output
5 9 2 8 8/2 = 4
9 4 7 3 9/3 = 3
3 8 6 5 6/3 = 2
Run Code Online (Sandbox Code Playgroud)
具有嵌套循环的强力方法具有时间复杂度O(n^2).还有更好的方法,时间复杂度更低吗?
这个问题是代码出现的一部分.
假设我有一个数组a [],如果我想改变a [i]的值并将其改为零,我可以通过使用temp变量来实现.
int temp = a[i];
a[i] = 0;
Run Code Online (Sandbox Code Playgroud)
但我遇到了类似的代码
int temp = a[i] | (a[i] = 0);
Run Code Online (Sandbox Code Playgroud)
我很难理解这一点.请解释它有效吗?使用类似类型的代码是一个好习惯吗?
我正在尝试使用 Mockito 测试 Spring Controller。我已经模拟了when()这个问题也使用的对象,但我仍然面临空指针异常。请提出解决此异常的方法。
链接到的特定行空指针是
modelMap.put("categories", simpleCategoryDAO.getAllCategories());
Run Code Online (Sandbox Code Playgroud)
我模拟了 simpleCategoryDAO 并用于when()返回getAllCategories().
测试方法:
@RunWith(MockitoJUnitRunner.class)
public class CategoryControllerTest {
private MockMvc mockMvc;
@InjectMocks
private CategoryController categoryController;
@Mock
private SimpleCategoryDAO simpleCategoryDAO;
@Before
public void setup() {
categoryController = new CategoryController();
mockMvc = MockMvcBuilders.standaloneSetup(categoryController).build();
}
@Test
public void categories_ShouldRenderCategoriesView() throws Exception {
List<Category> ALL_CATEGORIES = Arrays.asList(
new Category(1,"Funny"),
new Category(2,"JoyFul")
);
Mockito.when(simpleCategoryDAO.getAllCategories()).thenReturn(ALL_CATEGORIES);
mockMvc.perform(get("/categories"))
//.andExpect((MockMvcResultMatchers.model()).attribute("categories",ALL_CATEGORIES));
.andExpect(MockMvcResultMatchers.view().name("categories"));
}
}
Run Code Online (Sandbox Code Playgroud)
控制器代码
@Controller
public class CategoryController { …Run Code Online (Sandbox Code Playgroud) 我正在使用Spring Boot创建一个示例项目,并尝试/使用简单的String消息进行映射.我@Controller为此目的使用了注释.但由于某种原因,映射不起作用.我也包括@ComponentScan和@EnableWebMvc没有运气.
我已经使用了maven spring-boot:run目标来运行.在https://github.com/tejact/SpringBasicsTreeHouse上传了该项目.
这是控制器:
package Controller;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Component
@Controller
public class GifController {
@RequestMapping("/")
@ResponseBody
public String listAllGifs() {
return "Listing all gifs : Madhu";
}
}
Run Code Online (Sandbox Code Playgroud)
主要应用条目:
package com.teja;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@EnableAutoConfiguration
@ComponentScan
@EnableWebMvc
public class AppConfig {
public static void main(String args[]) {
SpringApplication.run(AppConfig.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
和Spring Boot日志:
[INFO] Scanning for projects... …Run Code Online (Sandbox Code Playgroud) java ×3
algorithm ×2
spring ×2
spring-mvc ×2
arrays ×1
graph-theory ×1
mocking ×1
mockito ×1
spring-boot ×1
theory ×1