作者huhunhiaccc (chchch)
看板C_and_CPP
标题[问题] 类似最大子阵列的一个问题
时间Thu Jun 10 17:16:48 2021
大家好
先说一下题目是输入一个二维char阵列{"111","123","321","2132"}
要找每组最多可以分割成几块,对分割的每一块做排序完成後
使得整组也是排序完成,要找最多可以分割几块
所以上面的输出[3,3,1,2]
举例21 32各自排序=>12 23整组排序完成
不知道这样讲清不清楚@@
我现在的问题是我只能写出全部一样的case还有刚好阵列第一个数是最大的case
想问各位大大另外几种case除了递回以外有别的做法吗@@
因为我只有想到递回可是因为函数要传char[][10]
所以我被指标搞得好头痛呀...
以下是我的code
https://ideone.com/8eLkTs
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 116.241.212.216 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1623316612.A.CB4.html
1F:推 LPH66: 提示: 每一块的排序前和排序後各个数字的数量不变 06/10 18:22
2F:→ LPH66: 而排序後的数字数量是可以追踪的 06/10 18:22
3F:→ hsnuyi: 这是面试题喔~ 可goo到 06/10 22:32
4F:→ ckvir: 看不懂意思 06/10 22:44
5F:→ ckvir: 几组几块完全不知指什麽 06/10 22:49
7F:推 LPH66: Um, 这跟快选其实不一样...这里是自己找分块 06/10 23:10
8F:→ LPH66: 快选则是依某个元素为基准分块, 策略是不一样的 06/10 23:10
9F:→ LPH66: 原 PO 已经知道输入已排序的答案, 那可以进一步思考: 06/10 23:12
10F:→ LPH66: 如果输入是除了头两个对调外都是排序好的答案是什麽? 06/10 23:12
11F:→ LPH66: 再进一步, 思考要怎麽构造一个只能用某个方法分块的输入? 06/10 23:13
12F:→ LPH66: 这样就能找得到要用什麽基准去找分块了 06/10 23:13
13F:→ hsnuyi: 我没理解错的话 去看看LC768 06/10 23:42
14F:推 LPH66: 楼上没错 (应该说就是这题一模一样) 06/11 00:03
15F:→ huhunhiaccc: 小弟真的是很感谢楼上各位大大!真的跟leetcode题 06/11 03:49
16F:→ huhunhiaccc: 一模一样0.0不过我还是会再进一步思考的,谢谢! 06/11 03:49
17F:→ hsnuyi: LC害人不浅 看到题目就想起在LC QQ 06/11 23:24
18F:推 xanxus27: 楼上 我该去做LC吗 06/12 06:45
19F:→ hsnuyi: ... 谁知 我写LC是兴趣 我根本不想当工程师 06/12 23:47