- 博客(13)
- 收藏
- 关注
原创 课程设计 电话用户管理系统(c++)
使用c++所实现的该系统只是一个删减版的系统,为本人初学c++时所作,功能多有遗漏,有所欠缺,有错误的地方希望诸位指正。
2019-09-28 18:27:07 1048 2
原创 算法分析与设计总结
算法分析与设计总结回顾这八周以来关于这课程的学习情况,我体会最深的是:不论是从深度还是从广度上,现在所习的算法比以前学习的算法难度增加了很多。但是费老师极富经验的教学和课件,为我的学习提供了很大的方便。可是毕竟我以前的底子不够厚,基础不够牢,在听课中会出现跟不上教师思路的现象。我也积极的采取措施,争取处理好这种情况。总体说来,上完算法课,我还是学到了很多东西。下面我就对所学的内容进行梳理归纳,
2017-11-04 10:54:00 4291
原创 爬楼梯
问题描述:假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?解题思路;把前几项列出来就是斐波那契额数列。具体代码:int climbStairs(int n) { // write your code here if(n == 0) { return 0;
2017-10-25 12:54:00 364
原创 最小路径和
问题描述:给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径。解题思路:最短路径只有两条路径,一条是从右到下,另一条是从下到右,然后取其最小值。具体代码:int minPathSum(vector > &grid) { int m = grid.size(); int n = grid[0].size();
2017-10-25 12:09:12 409
原创 不同的路径
问题描述:有一个机器人的位于一个 m × n 个网格左上角。机器人每一时刻只能向下或者向右移动一步。机器人试图达到网格的右下角。问有多少条不同的路径?解题思路:首先我们建立一个m+1*n+1的矩阵,初始化a[i][0]=1和·a[0][j]=1而最短路径为a[i][j]=a[i-1][j]+a[i][j-1];具体代码:int uniquePaths
2017-10-25 11:51:18 202
原创 主元素
题目描述:给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。具体思路:对该数组排序,主元素为nums(n/2);具体代码:int n = nums.size(); sort(nums.begin(),nums.end()); return nums[n/2];
2017-10-12 17:02:40 334
原创 落单的数
题目描述:给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。解题思路:另建一个数组l,讲A中的元素插入,通过插入过程中,查找l中是否已有与其相同的数,如果有则插入,反之删除具体代码: setl; for(int i=0;i if(l.find(A[i])==l.end())
2017-10-12 16:48:58 209
原创 最大/小子数组
本题以最小子数组为例,最大子数组其思路一致题目描述:给定一个整数数组,找到一个具有最小和的子数组,返回其最小和。解题思路:首先判断给出的字符串中是否为空字符串,如果为空则返回零。然后找其最小值,当最小值大于零时返回当前最小值,如果小于零则保存当前节点位置利用for语句逐步向后加并保存最小值解题代码: if(nums==NULL){
2017-10-11 10:35:42 247
原创 lintcode递归总结
经过一段时间的刷题,我对递归也有了一个更深的认识。在对二叉树的一系列操作过程中,通过递归对其实现,方法更加简便思路更容易,但缺点就是占空间太多。
2017-09-19 11:21:06 386
原创 树的高度
在树的高度计算过程中,我们采用递归算法,从树根算起,先判断树根是否为空,如果树根为空,直接返回0,如果树根不空,遍历左子树,当左子树为空时遍历右子树,具体实现过程:int maxDepth(TreeNode *root) {int lh=0,rh=0; if(root==NULL) return 0;else{ lh=maxDepth(root->left);
2017-09-13 11:53:52 506
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人