Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
785.Is Graph Bipartite?
Adding a new solution,
Leetcode Q.785 solution in Go lang using Depth First Search,
faster than 100 % ( 20ms ) with a memory usage of 12 MB.
  • Loading branch information
DwivediAman-exe authored Oct 4, 2020
commit e85635e6f945cad53e27aa286cfd5185ee363172
44 changes: 44 additions & 0 deletions leetcode/785.Is Graph Bipartite?
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
func isBipartite(graph [][]int) bool {
colors := make([]int,len(graph))


for i := range colors {
colors[i] = -1
}


for i := range graph {
if !dfs(i, graph, colors, -1) {
fmt.Println(colors)
return false
}
}

fmt.Println(colors)
return true

}

func dfs(n int, graph [][]int, colors []int, parentCol int) bool {
if colors[n] == -1 {
if parentCol == 1 {
colors[n] = 0
} else {
colors[n] = 1
}
} else if colors[n] == parentCol {
fmt.Println(n)
return false
} else if colors[n] != parentCol {
return true
}


for _, c := range graph[n] {
if !dfs(c, graph, colors, colors[n]) {
fmt.Println(c)
return false
}
}
return true
}