hkyhj - 博客园
摘要: 直接选择排序原理:每一次从待排序的序列中选出最小(或最大)的一个元素,存放在已排好序的序列的后一个位置,直到全部待排序的数据元素排完;选择排序是不稳定的排序方法;时间复杂度O(n^2),空间复杂度O(1) 例如,给定包含N个正整数元素的序列vector<int> seq第1趟:从seq[0]~seq阅读全文
posted @ 2018-06-14 16:09 hkyhj 阅读(7) 评论(0) 编辑
摘要: 冒泡排序是最简单的一种排序算法,时间复杂度为:O(n^2) 空间复杂度为:O(1) 冒泡排序的思路:从后往前扫描待排序序列,如果前一个元素比后一个元素大,就交换它们两个,对每一对相邻元素作同样的工作;这样,第一次扫描待排序的序列会找到一个最小值并将其放置在第一位,第二次扫描待排序的序列会找到一个第二阅读全文
posted @ 2018-06-11 11:00 hkyhj 阅读(5) 评论(0) 编辑
摘要: 头文件 <stl_vector.h> Vector封装了数组,并定义了二十个操作数组的方法,下面是stl_vector的基本架构阅读全文
posted @ 2018-06-01 17:35 hkyhj 阅读(10) 评论(0) 编辑
摘要: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数 示例 1:输入: 121输出: true 示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3:输入: 10输出: f阅读全文
posted @ 2018-05-24 22:27 hkyhj 阅读(4) 评论(0) 编辑
摘要: 给定一个整数数列,找出其中和为特定值的那两个数。你可以假设每个输入都只会有一种答案,同样的元素不能被重用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]阅读全文
posted @ 2018-05-24 22:24 hkyhj 阅读(12) 评论(0) 编辑
摘要: 实现 atoi,将字符串转为整数。在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字阅读全文
posted @ 2018-05-24 21:59 hkyhj 阅读(33) 评论(0) 编辑
摘要: 给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入 : 123输出 : 321示例 2:输入 : ‐123输出 : ‐321示例 3:输入 : 120输出 : 21注意 :假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2 31 , 2 31 − 1]。根据这个假设,阅读全文
posted @ 2018-05-24 21:58 hkyhj 阅读(43) 评论(0) 编辑
摘要: 将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数:P A H NA P L S I I GY I R之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR" 实现一个将字符串进行指定行数变换的函数 : string convert(string s, int numRows)阅读全文
posted @ 2018-05-24 21:57 hkyhj 阅读(14) 评论(0) 编辑
摘要: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"阅读全文
posted @ 2018-05-24 21:55 hkyhj 阅读(61) 评论(0) 编辑
摘要: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。 请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。 示例 1:nums1 = [1, 3]nums2 = [2]中位数是 2.0 示例 2:nums1 = [1, 2]nums2 = [3, 4]阅读全文
posted @ 2018-05-24 21:54 hkyhj 阅读(41) 评论(0) 编辑