Circular Permutation in Binary Representation LeetCode solution in Rust

1
use std::collections::*;
2

3
impl Solution {
4
pub fn circular_permutation(n: i32, start: i32) -> Vec<i32> {
5
let limit = 1 << n;
6
let mut que = VecDeque::new();
7
for i in 0..limit {
8
que.push_back(i ^ (i >> 1));
9
}
10
while que[0] != start {
11
let v = que.pop_front().unwrap();
12
que.push_back(v);
13
}
14
que.into_iter().collect::<Vec<i32>>()
15
}
16
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0