[问题] 类似最大子阵列的一个问题

楼主: huhunhiaccc (chchch)   2021-06-10 17:16:48
大家好
先说一下题目是输入一个二维char阵列{"111","123","321","2132"}
要找每组最多可以分割成几块,对分割的每一块做排序完成后
使得整组也是排序完成,要找最多可以分割几块
所以上面的输出[3,3,1,2]
举例21 32各自排序=>12 23整组排序完成
不知道这样讲清不清楚@@
我现在的问题是我只能写出全部一样的case还有刚好阵列第一个数是最大的case
想问各位大大另外几种case除了递回以外有别的做法吗@@
因为我只有想到递回可是因为函数要传char[][10]
所以我被指标搞得好头痛呀...
以下是我的code
https://ideone.com/8eLkTs
作者: LPH66 (-6.2598534e+18f)   2021-06-10 18:22:00
提示: 每一块的排序前和排序后各个数字的数量不变而排序后的数字数量是可以追踪的
作者: hsnuyi (羊咩咩~)   2021-06-10 22:32:00
这是面试题喔~ 可goo到
作者: ckvir (ckvir)   2021-06-10 22:44:00
看不懂意思几组几块完全不知指什么
作者: sarafciel (Cattuz)   2021-06-10 23:04:00
https://tinyurl.com/y95t9p5z 可以想一下快选的观念
作者: LPH66 (-6.2598534e+18f)   2021-06-10 23:10:00
Um, 这跟快选其实不一样...这里是自己找分块快选则是依某个元素为基准分块, 策略是不一样的原 PO 已经知道输入已排序的答案, 那可以进一步思考:如果输入是除了头两个对调外都是排序好的答案是什么?再进一步, 思考要怎么构造一个只能用某个方法分块的输入?这样就能找得到要用什么基准去找分块了
作者: hsnuyi (羊咩咩~)   2021-06-10 23:42:00
我没理解错的话 去看看LC768
作者: LPH66 (-6.2598534e+18f)   2021-06-11 00:03:00
楼上没错 (应该说就是这题一模一样)
楼主: huhunhiaccc (chchch)   2021-06-11 03:49:00
小弟真的是很感谢楼上各位大大!真的跟leetcode题一模一样0.0不过我还是会再进一步思考的,谢谢!
作者: hsnuyi (羊咩咩~)   2021-06-11 23:24:00
LC害人不浅 看到题目就想起在LC QQ
作者: xanxus27 (XANXUS)   2021-06-12 06:45:00
楼上 我该去做LC吗
作者: hsnuyi (羊咩咩~)   2021-06-12 23:47:00
... 谁知 我写LC是兴趣 我根本不想当工程师

Links booklink

Contact Us: admin [ a t ] ucptt.com