面试算法题
在lettCode刷题的一些题目,方法有点繁琐,有好的想法可以一起讨论。(基于C语音,有点麻烦)
佛系码农
这个作者很懒,什么都没留下…
展开
-
十大常规排序算法Ⅰ
voidSwap(int*a,int*b) //交换两个数{inttemp=*a;*a=*b;*b=temp;}1、冒泡排序描述:①比较相邻的原始,如果第一个比第二个大就交换两个数。②从第一对到结尾的最后一对执行①的操作,这样最后的元素已经排序成功。③在剩下序列中,对所有元素重复①②的操作,④以此执行①②③直到剩下的序列元素为0复杂程度:时间复杂度O(n^2) 空间复杂度O(1)//参数:指针 数组大小 返回大小//返回...原创 2020-12-08 10:22:19 · 150 阅读 · 0 评论 -
4、多数元素
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入: [3,2,3]输出: 3示例2:输入: [2,2,1,1,1,2,2]输出: 2int majorityElement(int* nums, int numsSize){ int count = 1; int key = nums[0]; for(int ...原创 2020-12-04 10:27:06 · 126 阅读 · 0 评论 -
3、重复的子字符串
给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。示例 2:输入: "aba"输出: False示例 3:输入: "abcabcabcabc"输出: True解释: 可由子字符串 "abc" 重复四次构成。 (或者子字符串 "abcabc" 重复两次构成。)int repeatedSu..原创 2020-12-04 10:18:33 · 128 阅读 · 0 评论 -
2、搜索二维矩阵 II
现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]给定 target=5,返回true。给定target=20,返回false。bool searchMatrix(int** matrix, int matrixRowSize, int matrixColSi...原创 2020-11-06 17:14:57 · 122 阅读 · 0 评论 -
1、合并两个有序数组
题目:给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,5,6], n = 3 输出...原创 2020-11-06 16:32:23 · 222 阅读 · 0 评论