国庆节写了几道数组的题目,分别是
(1859)将句子排序:leetcode.cn/problems/so…
(1122)数组的相对排序:leetcode.cn/problems/re…
(面试16.16)部分排序:leetcode.cn/problems/su…
前两道较简单,后一道中等难度。
(1859)将句子排序
题目如下:
其示例如下:
我的做法是先遍历切片,根据每个单词末尾字符得到新字符串的顺序,注意去掉数字时别忘了拼接空格。
以下是我的代码:
提交记录:
(1122)数组的相对排序
题目如下:
其示例如下:
采用sort包里的自定义算法,以切片值为map键,切片索引为map值,将arr2包里的元素映射到map。在自定义算法里,①当arr1索引为i,j的值a,b都存在map里,则让索引小的排前面。②当a存在b不存在,让a排b前面。③当a不存在b存在,则让b排a前面。④当a,b都不存在,则值小的排前面。
以下是我的代码:
提交记录:
(面试16.16)部分排序
题目如下:
其示例如下:
首先,创建一个与原始数组相同的副本 sortedNums,并对其进行排序。然后,我们使用两个循环分别从数组的开头和结尾开始,找到第一个不匹配的元素,这些元素的索引分别作为起始位置 start 和结束位置 end。最后,返回 [start, end] 作为结果。
以下是我的代码:
提交记录: