排序
可乐学算法
20二本毕业,毕业后转行当算法老师,目前就职于一家少儿编程独角兽;
大三开始学习算法,*CPC打铁仔,拿过蓝桥杯、天梯赛几个小比赛的奖;
第十一届蓝桥杯程序设计竞赛省一、国二;
第十届蓝桥杯程序设计竞赛省一、国二;
第五届天梯赛省赛团队二等奖、国赛团队三等奖;
展开
-
腾讯2017暑期实习生算法题-字符移位(冒泡排序)
[编程题] 算法基础-字符移位 时间限制:1秒 空间限制:32768K 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。 你能帮帮小Q吗? 输入描述: 输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000. 输出描述: 对于每组数据,输出移位后的字符串。 输入例子1: AkleBiCeilD 输出...原创 2019-07-19 22:23:39 · 208 阅读 · 0 评论 -
腾讯2017暑期实习生算法题-有趣的数字(排序+双指针)
[编程题] 有趣的数字 时间限制:1秒 空间限制:32768K 小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,相差最小的有多少对呢?相差最大呢? 输入描述: 输入包含多组测试数据。 对于每组测试数据: N - 本组测试数据有n个数 a1,a2…an - 需要计算的数据 保证: 1<=N<=100000,0<=ai<=INT_MAX. 输出描述: 对于每组数据,...原创 2019-07-20 13:48:20 · 159 阅读 · 0 评论 -
备战秋招-LeetCode 打卡-颜色分类(排序、双指针)
给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决这道题。 示例: 输入: [2,0,2,1,1,0] 输出: [0,0,1,1,2,2] 进阶: 一个直观的解决方案是使用计数排序的两趟扫描算法。 首先,迭代...原创 2019-08-20 12:32:19 · 168 阅读 · 0 评论 -
备战秋招-LeetCode 打卡-数组中的第K个最大元素(快排、双指针)
在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: 4 说明: 你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。 题目链接(leetcode) 思路...原创 2019-08-31 14:53:38 · 174 阅读 · 0 评论 -
备战秋招-LeetCode 打卡-移动零(排序、双指针)
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 题目链接(leetcode) 思路1:找一个稳定的、不改变非零元素相对位置的排序方法就ok了,冒泡排序,交换第i为0和第i+1不为0,时间复杂度有点高,为...原创 2019-09-02 11:33:50 · 136 阅读 · 0 评论