讨论/面试考题/字节面试算法/
字节面试算法

1.输入1234 输出 1243,从新排列,找出比1234大的第一个数。再比如1324 输出,1342
2.判断二叉搜索树
一个都没做出来,太难受了

展开讨论
追求简单的小幸福发起于 2020-04-29

第二个 Leetcode 有原题“验证二叉搜索树”

第一题应该是个贪心,
如果要比原数字大,那么新数字一定是高x位(x>=0)与原数字相同,而第 x+1 位比原数字大。而这一位一定与之后的某一位发生了交换。为了让数字增大的幅度尽量小,贪心的思想是,这个位应当靠近数字的低位。

示例1:[1234]
从低位向高位枚举,发现 '3''4' 可交换,因此答案是 '1243'

示例2:[1432]
从低位向高位枚举,枚举到 '1',其可以与后面的 '2''3''4' 交换。这样,为了让最高位最小,最高位取 '2'。然后考虑次高位,让其最小,应该取 '1'. 依次类推,答案是 '2134'.

展开全部 17 讨论