美文网首页
煎饼排序

煎饼排序

作者: 天天天向上 | 来源:发表于2017-12-09 21:02 被阅读0次

我们有一个锅铲和一堆煎饼,我们的目标是将煎饼按照大小排序,大的在下面。我们唯一的办法是让锅铲从一个地方伸进去,并且把上面所有的煎饼翻下来。

Go实现:

package main

import (
    "fmt"
)

func main() {
    var stact = []int{1, 4, 5, 2, 3, 8, 6, 7, 9, 0}
    cakeNum := len(stact)
    for i := 0; i < cakeNum; i++ {
        biggest := biggestPancake(stact, cakeNum-i)
        updata := flip(stact, biggest)
        stact = flip(updata, cakeNum-i-1)
    }
    fmt.Print(stact)
}

func flip(arr []int, i int) []int {
    up := arr[:i+1]
    down := arr[i+1:]
    var newArr []int
    for i := len(up) - 1; i >= 0; i-- {
        newArr = append(newArr, up[i])
    }
    for n := 0; n < len(down); n++ {
        newArr = append(newArr, down[n])
    }
    return newArr
}

//获取前count位最大的值
func biggestPancake(arr []int, count int) int {
    var max = 0
    var maxIndex = 0
    for j := 0; j < count; j++ {
        if arr[j] > max {
            max = arr[j]
            maxIndex = j
        }
    }
    return maxIndex
}

相关文章

  • 煎饼排序

    我们有一个锅铲和一堆煎饼,我们的目标是将煎饼按照大小排序,大的在下面。我们唯一的办法是让锅铲从一个地方伸进去,并且...

  • LeetCode-969 煎饼排序-M

    煎饼排序[https://leetcode-cn.com/problems/pancake-sorting/] 给...

  • 969. 煎饼排序

    题目描述: 给定数组 A,我们可以对其进行煎饼翻转:我们选择一些正整数 k <= A.length,然后反转 A ...

  • 969. 煎饼排序(Python)

    难度:★★★☆☆类型:数组方法:无 题目 力扣链接请移步本题传送门[https://leetcode-cn.com...

  • 烧饼排序

    读完本文,你可以去力扣拿下如下题目: 969.煎饼排序[https://leetcode-cn.com/probl...

  • LeetCode 第969题:煎饼排序

    1、前言 2、思路 每次将最大的放到底部,然后递归前 n - 1 个继续执行此操作。 3、代码

  • 煎饼果子的做法

    煎饼的做法 煎饼果子 煎饼 煎饼果子的做法vx695809510 煎饼加盟店 杂粮煎饼 煎饼侠 山东煎饼 煎饼机 ...

  • 天津,天津

    去天津,肯定要吃的就是煎饼果子!煎饼果子!煎饼果子! 就是它! 煎饼果子!煎饼果子!煎饼果子! 没有生菜,也不加火...

  • 随食随递煎饼灵寿店

    随食随递煎饼 煎饼坊 煎饼学习培训 煎饼培训技术学校

  • 山东杂粮煎饼果子技术 正宗山东杂粮煎饼配方天津煎饼果子配方小 山

    山东杂粮煎饼果子技术 正宗山东杂粮煎饼配方天津煎饼果子配方小 山东杂粮煎饼果子技术 正宗山东杂粮煎饼配方天津煎饼果...

网友评论

      本文标题:煎饼排序

      本文链接:https://www.haomeiwen.com/subject/gfvpixtx.html