自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(137)
  • 资源 (2)
  • 收藏
  • 关注

原创 [LintCode]9. Fizz Buzz 问题 第一次Java实现

描述给你一个整数n. 从 1 到 n 按照下面的规则打印每个数: 如果这个数被3整除,打印fizz. 如果这个数被5整除,打印buzz. 如果这个数能同时被3和5整除,打印fizz buzz.     样例比如 n = 15, 返回一个字符串数组:​[  "1", "2", "fizz",  "4", "buzz", "fizz",  &quo

2018-11-17 14:48:30 545 1

原创 char组成的字符串循环右移n个

编写一个函数,作用是把一个char组成的字符串循环右移n个。比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefg” 函数头是这样的: //pStr是指向以'\0'结尾的字符串的指针//steps是要求移动的n#include using namespace std;void move(char* pStr,int steps){ if (pSt

2017-10-13 18:02:20 1495

原创 八进制 输入一个整数,将其转换成八进制数输出

输入一个整数,将其转换成八进制数输出。  输入:12    输出:14输入:9    输出:11#include using namespace std;int main(){ long a; cin >> a; cout << ((a / 8) * 10) + a % 8 << endl; system("pause"); return 0;}

2017-10-13 13:32:42 6271 2

原创 [LintCode]413.反转整数

将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数)。样例给定 x = 123,返回 321给定 x = -123,返回 -321class Solution {public: /* * @param n: the integer to be reversed * @return: the reversed in

2017-10-05 23:16:05 273

原创 [LintCode]104.合并k个排序链表

合并k个排序链表,并且返回合并后的排序链表。尝试分析和描述其复杂度。样例:给出3个排序链表[2->4->null,null,-1->null],返回 -1->2->4->null/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; *

2017-10-05 14:38:07 371

原创 [LintCode]469.等价二叉树

检查两棵二叉树是否等价。等价的意思是说,首先两棵二叉树必须拥有相同的结构,并且每个对应位置上的节点上的数都相等。样例 1 1 / \ / \ 2 2 and 2 2 / /4 4就是两棵等价的二叉树。 1 1 /

2017-10-02 14:59:07 260

原创 [LintCode]175.翻转二叉树

翻转一棵二叉树样例 1 1 / \ / \2 3 => 3 2 / \ 4 4/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right;

2017-10-02 14:38:07 297

原创 [LintCode]191.乘积最大子序

找出一个序列中乘积最大的连续子序列(至少包含一个数)。样例比如, 序列 [2,3,-2,4] 中乘积最大的子序列为 [2,3] ,其乘积为6。思路:动态规划,每一步只需要记住其前一步的整数最大值和负数的最小值。因为涉及到正负,所以要保存最小值和最大值两种情况,因为负负得正。最小值的比较包括nums[i]、minnums[i] 、maxnums[i],最大值与此相同,其实最大

2017-10-01 00:11:20 316

原创 [LintCode]39.恢复旋转排序数组

给定一个旋转排序数组,在原地恢复其排序。说明什么是旋转数组?比如,原始数组为[1,2,3,4], 则其旋转数组可以是[1,2,3,4], [2,3,4,1], [3,4,1,2], [4,1,2,3]样例[4, 5, 1, 2, 3] -> [1, 2, 3, 4, 5]思路:三步翻转法:以{4,5,6,7,1,2,3}为例1

2017-09-29 23:25:48 282

原创 记录

#include #include using namespace std;int main(){ int count=0; float m = 100, sum = 100, n; cin >> n; while (m>n){ m = m / 2; sum = sum + m*2; count++; } cout << count << " " << sum <<

2017-09-25 20:52:43 197

原创 [LintCode]407.加一

给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。该数字按照大小进行排列,最大的数在列表的最前面。样例给定 [1,2,3] 表示 123, 返回 [1,2,4].给定 [9,9,9] 表示 999, 返回 [1,0,0,0].class Solution {public: /* * @param digits: a number

2017-09-14 13:04:50 256

原创 [LintCode]172.删除元素

给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。元素的顺序可以改变,并且对新的数组不会有影响。样例给出一个数组 [0,4,4,0,0,2,4,4],和值 4返回 4 并且4个元素的新数组为[0,0,0,2]思路:类似上一题100class Solution {public: /** *@param A: A l

2017-09-14 12:14:12 357

原创 [LintCode]100.删除排序数组中的重复数字

给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。样例给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。思路:对数组遍历一次,并设置一个计数器,每当遍历前后元素不相同,计数器加1,并将当前遍历的元素覆盖到计数器对应在数组中位置。遍历完后,

2017-09-14 12:05:41 858

原创 01背包

一个背包有一定的承重cap,有N件物品,每件都有自己的价值,记录在数组v中,也都有自己的重量,记录在数组w中,每件物品只能选择要装入背包还是不装入背包,要求在不超过背包承重的前提下,选出物品的总价值最大。给定物品的重量w价值v及物品数n和承重cap。请返回最大总价值。测试样例:[1,2,3],[1,2,3],3,6返回:6class Backpa

2017-09-09 14:33:58 258

原创 [LintCode]92.背包问题

在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i]样例如果有4个物品[2, 3, 5, 7]如果背包的大小为11,可以选择[2, 3, 5]装入背包,最多可以装满10的空间。如果背包的大小为12,可以选择[2, 3, 7]装入背包,最多可以装满12的空间。函数需要返回最多能装满的空间大小。思路:使用一维数组

2017-09-09 14:33:35 765

原创 最优编辑

对于两个字符串A和B,我们需要进行插入、删除和修改操作将A串变为B串,定义c0,c1,c2分别为三种操作的代价,请设计一个高效算法,求出将A串变为B串所需要的最少代价。给定两个字符串A和B,及它们的长度和三种操作代价,请返回将A串变为B串所需要的最小代价。保证两串长度均小于等于300,且三种代价值均小于等于100。测试样例:"abc",3,"adc",3,5,3,100

2017-09-08 23:44:47 288

原创 圆中两个点的最大差值 笔试

#include #include #include using namespace std;const double valA = 180.00000000;const double valB = 360.00000000;double caculate(vector & dvec){ int len = dvec.size(); int max = dvec[0]; in

2017-09-08 18:20:08 340

原创 LCS(即最长公共子序列)

给定两个字符串A和B,返回两个字符串的最长公共子序列的长度。例如,A="1A2C3D4B56”,B="B1D23CA45B6A”,”123456"或者"12C4B6"都是最长公共子序列。给定两个字符串A和B,同时给定两个串的长度n和m,请返回最长公共子序列的长度。保证两串长度均小于等于300。测试样例:"1A2C3D4B56",10,"B1D23CA45B6A",12

2017-09-08 15:46:48 327

原创 LIS(即最长上升子序列)

这是一个经典的LIS(即最长上升子序列)问题,请设计一个尽量优的解法求出序列的最长上升子序列的长度。给定一个序列A及它的长度n(长度小于等于500),请返回LIS的长度。测试样例:[1,4,2,5,3],5返回:3思路:用dp[i]数组来记录以i为结尾的子序列里面包含的最长上升子序列的数字个数。然后从下标为1开始求dp[i],并且记录找到的最大值,即可得到解

2017-09-08 15:10:15 227

原创 矩阵最小路径和

有一个矩阵map,它每个格子有一个权值。从左上角的格子开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,返回所有的路径中最小的路径和。给定一个矩阵map及它的行数n和列数m,请返回最小路径和。保证行列数均小于等于100.测试样例:[[1,2,3],[1,1,1]],2,3返回:4class MinimumPath {pu

2017-09-08 13:14:33 489

原创 爬楼梯

有n级台阶,一个人每次上一级或者两级,问有多少种走完n级台阶的方法。为了防止溢出,请将结果Mod 1000000007给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100000。测试样例:1返回:1class GoUpstairs {public: int countWays(int n) { // 动态规

2017-09-08 13:03:28 370

原创 找零钱

有数组penny,penny中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim(小于等于1000)代表要找的钱数,求换钱有多少种方法。给定数组penny及它的大小(小于等于50),同时给定一个整数aim,请返回有多少种方法可以凑成aim。测试样例:[1,2,4],3,3返回:2cl

2017-09-08 12:24:19 273

原创 带权路径长度 层次遍历

思路:层次遍历带权路径长度:结点具有权值,从该结点到根之间的路径长度乘以结点的权值,就是该结点的带权路径长度。叶子结点的带权路径长度:从叶结点到根之间的路径长度(所在层数-1)乘以叶结点的权值。树的带权路径长度(WPL):树的所有叶子结点的带权路径长度之和。树的带权路径长度记为WPL = (W1*L1 + W2*L2 + W3*L3 + ... + Wn*Ln),N个权

2017-09-08 01:05:37 1106

原创 [LintCode]480.二叉树的所有路径

给一棵二叉树,找出从根节点到叶子节点的所有路径。样例给出下面这棵二叉树: 1 / \2 3 \ 5所有根到叶子的路径为:[ "1->2->5", "1->3"]思路:深度优先搜索 dfs实现 + 回溯 。注意加->这种细节。/** * Definition of TreeNode: * class TreeNode

2017-09-08 00:11:17 260

原创 c++实现String类(构造函数,析构函数,复制构造函数,各类运算符重载函数的编写)

需要重载下面的运算符:1、、==和!=比较运算符2、+=连接运算符和赋值运算符3、>输入运算符String.h#ifndef _STRING_H_ #define _STRING_H_ #include using namespace std;class String{public: String();//默认构造函数 String(

2017-09-05 09:43:20 1310

原创 实现一个单例模式的类,要求线程安全

class Lock{private: CCriticalSection m_cs;public: Lock(CCriticalSection cs) : m_cs(cs) { m_cs.Lock(); } ~Lock() { m_cs.Unlock(); }}; class Sing

2017-09-01 23:40:34 668

原创 mysql总结

进入mysql的解压缩目录cd D:\mysql-5.7.15-winx64\bin起动mysql服务 net start mysql ;输入net stop mysql关闭MySQL服务输入 mysql -u root -p 后回车键,密码为空,不输入,直接回车,即可登录MySQL查看多少个数据库:注意 后面带s   SHOW DATABASES;#查看表

2017-09-01 21:36:48 172

原创 寻找奇数出现II 位运算

给定一个整型数组arr,其中有两个数出现了奇数次,其他的数都出现了偶数次,找到这两个数。要求时间复杂度为O(N),额外空间复杂度为O(1)。给定一个整形数组arr及它的大小n,请返回一个数组,其中两个元素为两个出现了奇数次的元素,请将他们按从小到大排列。测试样例:[1,2,4,4,2,1,3,5],8返回:[3,5]class OddAppearance {

2017-09-01 18:24:40 275

原创 寻找奇数出现 位运算

有一个整型数组A,其中只有一个数出现了奇数次,其他的数都出现了偶数次,请打印这个数。要求时间复杂度为O(N),额外空间复杂度为O(1)。给定整形数组A及它的大小n,请返回题目所求数字。测试样例:[1,2,3,2,1],5返回:3class OddAppearance {public: int findOdd(vector A, int n) {

2017-09-01 18:09:02 218

原创 比较 位运算

对于两个32位整数a和b,请设计一个算法返回a和b中较大的。但是不能用任何比较判断。若两数相同,返回任意一个。给定两个整数a和b,请返回较大的数。测试样例:1,2返回:2class Compare {public: int getMax(int a, int b) { int c=a-b; int temp=sign

2017-09-01 17:59:17 313

原创 交换 位运算

请编写一个算法,不用任何额外变量交换两个整数的值。给定一个数组num,其中包含两个值,请不用任何额外变量交换这两个值,并将交换后的数组返回。测试样例:[1,2]返回:[2,1]class Swap {public: vector getSwap(vector num) { num[0]=num[0]^num[1];

2017-09-01 17:41:03 438

原创 最大二叉搜索子树 后序遍历

有一棵二叉树,其中所有节点的值都不一样,找到含有节点最多 的搜索二叉子树,并返回这棵子树的头节点.给定二叉树的头结点root,请返回所求的头结点,若出现多个节点最多的子树,返回头结点权值最大的。

2017-09-01 16:42:05 352

原创 树上最远距离 后序遍历

从二叉树的节点A出发,可以向上或者向下走,但沿途的节点只能经过一次,当到达节点B时,路径上的节点数叫作A到B的距离。对于给定的一棵二叉树,求整棵树上节点间的最大距离。给定一个二叉树的头结点root,请返回最大距离。保证点数大于等于2小于等于500.思路:修改后序遍历/*struct TreeNode { int val; struct TreeNode *

2017-09-01 13:17:20 231

原创 寻找错误结点 中序遍历

一棵二叉树原本是搜索二叉树,但是其中有两个节点调换了位置,使得这棵二叉树不再是搜索二叉树,请找到这两个错误节点并返回他们的值。保证二叉树中结点的值各不相同。给定一棵树的根结点,请返回两个调换了位置的值,其中小的值在前。思路:修改中序遍历/*struct TreeNode { int val; struct TreeNode *left; struc

2017-09-01 11:02:32 268

原创 折纸

请把纸条竖着放在桌⼦上,然后从纸条的下边向上⽅对折,压出折痕后再展 开。此时有1条折痕,突起的⽅向指向纸条的背⾯,这条折痕叫做“下”折痕 ;突起的⽅向指向纸条正⾯的折痕叫做“上”折痕。如果每次都从下边向上⽅ 对折,对折N次。请从上到下计算出所有折痕的⽅向。给定折的次数n,请返回从上到下的折痕的数组,若为下折痕则对应元素为"down",若为上折痕则为"up".测试样例:1

2017-09-01 10:32:36 243

原创 完全二叉树判断 层次遍历

有一棵二叉树,请设计一个算法判断它是否是完全二叉树。给定二叉树的根结点root,请返回一个bool值代表它是否为完全二叉树。树的结点个数小于等于500。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) :

2017-08-31 21:52:38 1604

原创 平衡二叉树判断 后序遍历

有一棵二叉树,请设计一个算法判断这棵二叉树是否为平衡二叉树。给定二叉树的根结点root,请返回一个bool值,代表这棵树是否为平衡二叉树。思路:左子树是否为平衡二叉树,左子树最深到哪一层;右子树是否为平衡二叉树,右子树最深到哪一层;如果左右子树都是平衡二叉树,比较它们的层数差。/*struct TreeNode { int val; struct Tree

2017-08-31 20:35:15 714

原创 [LintCode]95.验证二叉查找树(二叉排序树/二叉搜索树) 中序遍历

给定一个二叉树,判断它是否是合法的二叉查找树(BST)一棵BST定义为:节点的左子树中的值要严格小于该节点的值。节点的右子树中的值要严格大于该节点的值。左右子树也必须是二叉查找树。一个节点的树也是二叉查找树。样例一个例子: 2 / \1 4 / \ 3 5上述这棵二叉树序列化为 {2,1,4,#,#,3,5}.思路:观察二叉查找

2017-08-31 20:09:45 1640

原创 [LintCode]7.二叉树的序列化和反序列化

设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。如何反序列化或序列化二叉树是没有限制的,你只需要确保可以将二叉树序列化为一个字符串,并且可以将字符串反序列化为原来的树结构。 注意事项There is no limit of how you deserialize or serialize a

2017-08-31 19:32:29 299

原创 [LintCode]67.二叉树的中序遍历

给出一棵二叉树,返回其中序遍历样例给出二叉树 {1,#,2,3}, 1 \ 2 / 3返回 [1,3,2]./** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; *

2017-08-31 16:32:41 227

C程序设计精品课程网站开发设计

C程序设计精品课程网站开发设计 该文针对精品课程建设的发展,为了解决以往精品课程网站更新速度慢、维护工作量大、交互性差等问题,作者严格 按照软件工程的设计思想,采用ASP技术与Access数据库的结合,开发一个B/S(Browser/Server)结构的在线交流的“C语言精品 课程动态网站”系统.系统分为前台开发和后台设计两大模块.通过该网站,实现用户在线查阅有关课程的最新信息,下载课程的 课件,在线观看课程视频,并可进行在线答疑等.

2014-03-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除