We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 61068fc commit 1554d4bCopy full SHA for 1554d4b
969-pancake-sorting.js
@@ -0,0 +1,41 @@
1
+/**
2
+ * @param {number[]} arr
3
+ * @return {number[]}
4
+ */
5
+ const pancakeSort = function (arr) {
6
+ const res = []
7
+ let n = arr.length
8
+ while(n) {
9
+ const idx = indexOf(0, n - 1, n)
10
+ if(idx === n - 1) {
11
+ n--
12
+ } else {
13
+ flip(0, idx)
14
+ flip(0, n - 1)
15
+ res.push(idx + 1, n)
16
17
+ }
18
19
+ return res
20
+
21
+ function flip(l, r) {
22
+ while(l < r) {
23
+ const tmp = arr[l]
24
+ arr[l] = arr[r]
25
+ arr[r] = tmp
26
+ l++
27
+ r--
28
29
30
31
+ function indexOf(start, end, target) {
32
+ let res = -1
33
+ for(let i = start; i <= end; i++) {
34
+ if(arr[i]===target) {
35
+ res = i
36
+ break
37
38
39
40
41
+}
0 commit comments