阿牧路泽

哪有那么多坚强,无非是死扛罢了
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

随笔分类 -  常见算法题

摘要:二叉树的遍历 二叉树的遍历大致可分为先序遍历、中序遍历、后序遍历和层次遍历四种。 1、二叉树的结构体 2、前序遍历 递归方法: 非递归方法: 3、中序遍历 递归方法: 非递归方法: 4、后序遍历 递归方法 非递归方法 5、层次遍历 非递归方法 阅读全文

posted @ 2018-10-23 13:26 阿牧路泽 阅读(190) 评论(0) 推荐(0)

摘要:题 目:如果在N个数中找出其中前K大的数? 思路一: 先对N个数进行排序,然后在取其前K大的数;(冒泡排序,快速排序等) 思路二: 部分排序,只排除前K大的数即可(使用选择排序进行部分排序,选择排序的时间复杂度O(N2)) 思路三: 我可以用分治法,这有点类似快排中partition的操作。随机选一 阅读全文

posted @ 2018-10-22 18:10 阿牧路泽 阅读(1101) 评论(0) 推荐(0)

摘要:问题:手写一个函数,用于查找斐波那契数列的第N项目 阅读全文

posted @ 2018-10-22 17:46 阿牧路泽 阅读(425) 评论(0) 推荐(0)

摘要:问题:手写代码实现sqrt函数,即求一个整数的平方根 分析:二分查找思想 阅读全文

posted @ 2018-10-22 17:45 阿牧路泽 阅读(399) 评论(0) 推荐(0)

摘要:问题:给定一个包含红,白,蓝且长度为 n 的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红、白、蓝的顺序进行排序。我们可以使用整数 0,1 和 2 分别代表红,白,蓝。例如:有数组 [1, 0, 1, 2], 直接排序成 [0, 1, 1, 2].要求: 不能使用sort函数, 只扫描遍历一 阅读全文

posted @ 2018-10-22 17:43 阿牧路泽 阅读(891) 评论(0) 推荐(0)

摘要:问题:给定一个包含 n 个整数的数组,和一个大小为 k 的滑动窗口,从左到右在数组中滑动这个窗口,找到数组中每个窗口内的中位数。(如果数组个数是偶数,则在该窗口排序数字后,返回第 N/2 个数字。)例如:对于向量[1,2,7,8,5],窗口大小3,输出的结果为 [2,7,7]要求: 非暴力求解 阅读全文

posted @ 2018-10-22 17:42 阿牧路泽 阅读(690) 评论(0) 推荐(0)

摘要:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级,求总共有多少种跳法。 问题分析: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 阅读全文

posted @ 2018-10-16 11:45 阿牧路泽 阅读(699) 评论(0) 推荐(0)

摘要:编写一个完整的CString类 阅读全文

posted @ 2018-10-16 11:08 阿牧路泽 阅读(244) 评论(0) 推荐(0)

摘要:通常单链表逆置有两种方法:1、头插法; 2、原地逆置法 阅读全文

posted @ 2018-10-16 10:49 阿牧路泽 阅读(252) 评论(0) 推荐(0)

摘要:长度为n的数组乱序存放着 0 至n-1. 现在只能进行 0 与其他数的swap,请设计并实现排序。 阅读全文

posted @ 2018-10-16 10:16 阿牧路泽 阅读(520) 评论(0) 推荐(0)

摘要:一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间。 解法1: 解法2: 阅读全文

posted @ 2018-10-16 10:09 阿牧路泽 阅读(620) 评论(0) 推荐(0)

摘要:题目:有这样一个数组A,大小为n,相邻元素差的绝对值都是1。如:A={4,5,6,5,6,7,8,9,10,9}。现在,给定A和目标整数t,请找到t在A中的位置。除了依次遍历,还有更好的方法么? 解法:数组第一个数为array[0], 要找的数为y,设t = abs(y - array[0])。由于 阅读全文

posted @ 2018-10-16 09:42 阿牧路泽 阅读(303) 评论(0) 推荐(0)

摘要:如,对于正整数n=6,可以拆分为: 6 5+1 4+2, 4+1+1 3+3, 3+2+1, 3+1+1+1 2+2+2, 2+2+1+1, 2+1+1+1+1 1+1+1+1+1+1+1 现在的问题是,对于给定的正整数n,程序输出该整数的拆分种类数。 DP思路: n = n1 + n2 + n3 阅读全文

posted @ 2018-10-15 17:50 阿牧路泽 阅读(3401) 评论(0) 推荐(0)

摘要:从长度为n的数组(元素互不相同)中任意选择m个数的所有组合。 阅读全文

posted @ 2018-10-15 17:30 阿牧路泽 阅读(478) 评论(0) 推荐(0)

摘要:函数 int func(int i ,int N); 其中i <= N,功能输出i递增到N再递减到i的整数,每行输出一个数。比如func(1,5)就是 1 2 3 4 5 4 3 2 1 要求: 1、只能有1个语句,即一个分号 2、不能使用do while until goto for if关键字, 阅读全文

posted @ 2018-10-15 17:20 阿牧路泽 阅读(264) 评论(0) 推荐(0)

摘要:给定一个有序整数序列(非递减序),可能包含负数,找出其中绝对值最小的元素,比如给定序列 -5、-3、-1、2、8 则返回1。 分析:由于给定序列是有序的,而这又是搜索问题,所以首先想到二分搜索法,只不过这个二分法比普通的二分法稍微麻烦点,可以分为下面几种情况 如果给定的序列中所有的数都是正数,那么数 阅读全文

posted @ 2018-10-15 17:08 阿牧路泽 阅读(500) 评论(0) 推荐(0)

摘要:给定含有n个元素的整型数组a,其中包括0元素和非0元素,对数组进行排序,要求: 1、排序后所有0元素在前,所有非零元素在后,且非零元素排序前后相对位置不变 2、不能使用额外存储空间 例子如下 输入 0、3、0、2、1、0、0 输出 0、0、0、0、3、2、1 分析 此排序非传统意义上的排序,因为它要 阅读全文

posted @ 2018-10-15 16:53 阿牧路泽 阅读(567) 评论(0) 推荐(0)

摘要:不使用第三个变量交换两个数的值 mian.cpp 阅读全文

posted @ 2018-10-12 17:28 阿牧路泽 阅读(201) 评论(0) 推荐(0)