自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 问答 (1)
  • 收藏
  • 关注

原创 git笔记

时光机穿梭初始化一个Git仓库,使用git init命令。添加文件到Git仓库,分两步:第一步,使用命令git add ,注意,可反复多次使用,添加多个文件;第二步,使用命令git commit,完成。(git cmmit -m"描述")要随时掌握工作区的状态,使用git status命令。如果git stat

2018-01-09 11:52:23 211

原创 php 入门笔记

变量作用域  global   local   static字符串函数  strpos()  strpos() 函数用于检索字符串内指定的字符或文本。  如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。数组 初始化:  1. array()  2. $x=[   ]foreach用于数组  $x=a

2018-01-05 15:03:31 213

原创 快速排序非递归

int Pritation(int arr[], int left, int right) { int tmp = a[left]; int i = left, j = right; while (i < j) { while (i > j&&arr[j] >= tmp) j--; if(

2017-11-08 17:07:46 341

原创 command line/shell/bash

1.文件管理pwd outputs the name of the current working directory.ls lists all files and directories in the working directory.-a - lists all contents, including hidden files and directories-l - lists all con

2017-11-08 16:49:07 529

原创 翻转栈(不可以用额外的数组空间和栈)

思路:采用递归的方法实现,注意分情况处理:栈中只有一个元素,栈中元素至少两个元素 代码:template<class T> void reverseStack(stack<T> s){ if(s.empty()) return; else { //判断栈中是不是只有一个元素 T a=s.top(); s.pop(); if(s.empty()) {s.push(

2017-10-25 09:36:10 630

转载 DNS使用的是TCP协议还是UDP协议

原文:http://benbenxiongyuan.iteye.com/blog/1088085 DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类。但很少有人知道DNS分别在什么情况下使用这两种协议。 先简单介绍下TCP与UDP。 TCP是一种面向连接的协议,提供可靠的数据传输,一般服务质量要求比较高的情况,使用这个协

2017-10-17 16:07:46 861

原创 字符串的排列组合

求字符串所有组合 若不考虑字符串中有重复字符(即假设字符串中无重复字符) 描述:输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入”abc”,它的组合有a、b、c、ab、ac、bc、abc。方法一:假设我们想在长度为n的字符串中求m个字符的组合。我们先从头扫描字符串的第一个字符。针对第一个字符,我们有两种选择:一是把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选取m-

2017-10-16 21:15:52 751

原创 判断二叉树是否是平衡树

思路:在计算二叉树高度的同时,判断左右子树的高度差是否小于等于1 一边遍历树一边判断每个结点是否具有平衡性bool IsBalanced(TreeNode *root, int & dep) { if (root == NULL) { return true; } int left = 0; int right = 0; if (IsBala

2017-10-16 19:47:27 203

原创 非递归求二叉树的深度

可以利用层次遍历,记录层数即二叉树的深度(注意统计每一层结点的个数,以免影响记录层数)//借助层次遍历,非递归class Solution {public: int TreeDepth(TreeNode* pRoot) { queue<TreeNode*> q; if (!pRoot) return 0; q.push(pRoot)

2017-10-16 17:19:38 1336

原创 非递归实现二叉树的后序遍历、前序遍历、中序遍历

树的遍历可以用递归实现,一般情况下,能用递归解决的问题都可以用栈解决。 对于后续遍历,在父节点出栈时,需要判断左右孩子是否已经遍历过。可以定义一个新的结构体用于记录结点的左右孩子是否遍历过。vector<int> postOrder(TreeNode *root)//后序遍历{ vector<int> res; if (root == NULL) return res; T

2017-10-16 17:15:15 211

原创 求两个字符串的最长公共子序列的长度(动态规划)

题目: 输入字符串str1,对其翻转单词顺序列得到str2;(例如str1=“u r the best”,那么str2=“best the r u”);然后求这两个字符串的最长公共子序列的长度分析: 动态规划 详见http://blog.csdn.net/qq_27276951/article/details/51154696代码:#include<iostream>#include<stri

2017-10-11 11:10:39 4725

转载 贪心算法

题目大意:孩子有一个玩具,有n个部件组成,m条绳子组成,每条绳子连接两个部件。小孩比较顽皮,要将玩具拆成不可分割的部件,每次剪断一条绳子的代价是该绳子连接的两个部件的权值中较小的值。问说最小的总代价是多少。解题思路:以为每条边都是要被剪断的,所以将节点按照代价值从大到小排序,每次拿掉权值大的点,与该点连接并且还未剪断的边均用另外点的权值。#include <iostream>#include <c

2017-10-10 20:56:15 292

原创 谓词

英文单词字典排序#include<iostream>#include<string>#include<vector>#include<algorithm>using namespace std;bool mycompare(string str1,string str2){ if(str1<str2) return true; else re

2017-10-10 20:53:06 468

原创 希尔排序

#include<iostream>using namespace std;void shellsort(int arr[], int len) { int i, j, h, temp; for (h = len / 2; h >0; h = h / 2) { for (i = h; i < len; i++) { temp = arr[i

2017-10-09 16:06:48 161

转载 xgboost

登录 | 注册收藏成功确定收藏失败,请重新收藏确定*标题标题不能为空网址标签位置个人主页 - 我的知识同时保存至:选择知识图谱 选择知识图谱新建?

2017-10-02 19:41:31 490

原创 堆排序

#include<iostream>using namespace std;//升序建立最大堆;降序建立最小堆void heapadjust(int arr[], int start, int end) { int tmp = arr[start]; //根结点从0开始,所以i结点的左右孩子结点的下标为2i+1和2i+2 for (int i = 2 * start +

2017-09-24 17:19:29 150

原创 归并排序

#include<iostream>using namespace std;void merge(int arr[], int low, int mid, int high) { int i, j, k; int n = mid - low + 1; int m = high - mid; int* L = new int[n]; int* R = new

2017-09-24 16:23:12 190

转载 整数求和

问题: 输入两个整数 n 和 m,从数列1,2,3…….n 中 随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来. 分析: 由该题可知是典型的背包问题,根据该数是否加入进行递归运算。 解法:采用0-1背包的思想,使用递归方法:  当选择n时,就用剩下的n-1填满 m-n;  当不选择n是,就用剩下的n-1填满m; 注意的是,当m=n时,即找到了符合条件的解。#include<i

2017-09-19 21:40:59 1043

转载 整数反转

Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 click to show spoilers. Have you thought about this? Here are some good questions to ask before coding.

2017-09-19 21:37:43 326

原创 ACM 括号匹配深度

Description经常写程序的你可能有时会因为括号不匹配而收到编译器的报错,今天你的任务不仅仅是检查括号是否匹配,还要检查一下括号最大的嵌套层数,简称深度吧。括号匹配的规则参考编程语言中的括号合法性检查。Input第1行:一个字符串,包含字母、数字和英文括号’(‘、’)’,长度小于10000 多组测试数据,以文件结束EOF作为输入结束Output每组数据输出一行,第N组数据格式如下: 第N行

2017-09-12 20:17:49 472

原创 字符串排序

题目描述 编写一个程序,将输入字符串中的字符按如下规则排序。 规则 1 :英文字母从 A 到 Z 排列,不区分大小写。 如,输入: Type 输出: epTy 规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。 如,输入: BabA 输出: aABb 规则 3 :非英文字母的其它字符保持原来的位置。 如,输入: By?e 输出

2017-09-12 18:07:02 493

原创 快速排序 C++

#include<iostream>#include<algorithm>using namespace std;void quicksort(int a[], int begin, int end) {//升序 if (begin < end) { int i = begin, j = end, x = a[begin]; //x随机数,这里设为第一个数

2017-09-12 17:07:07 180

转载 [编程题]删数

有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。输入描述:每组数据为一行一个整数n(小于等于1000),为数组成员数,如果大于1000,则对a[999]进行

2017-09-12 15:44:33 802

转载 C++ 算法(<algorithm>)的谓词(predicate)详解

算法(algorithm) 的 谓词(predicate) 详解 文章地址: http://blog.csdn.net/caroline_wendy/article/details/15378055 算法谓词, 即标准库算法传递的参数, 可以指定算法的操作, 如std::sort, 默认是从小到大, 通过谓词可以修改从大到小.本文包含基本的5种谓

2017-09-12 13:30:04 1472

转载 [编程题] 扑克牌大小

扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A,2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王):) 3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER 输入两手牌,两手牌之间用“-”连接,每手牌的每张牌以空格分隔,“-”两边没有空格,如:4 4 4 4-joker JOKER

2017-09-12 13:27:40 667

转载 [编程题] 简单错误记录

开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。 处理: 1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文件名和行号相同也要合并) 2.超过16个字符的文件名称,只记录文件的最后有效16个字符;(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并) 3.输入的文件可能带路径,记录文

2017-09-12 09:36:19 147

转载 BFGS算法

BFGS算法2015-03-27 01:55 22239人阅读 评论(11)收藏举报分类: 数学之美(10) 作者同类文章X版权声明:本文为博主原创文章,未经博主允许不得转载。今天,我来讲一种在机器学习中常用到的优化算法,叫做BFGS算法。BFGS算法被认为是数值效果最好的拟牛顿法,并且

2017-09-10 18:56:47 15048

原创 滴滴校招2018 XOR

#include<iostream>#include<vector>#include<algorithm>using namespace std;int main() { int n; while (cin >> n) { vector<int> a; for (int i = 0; i < n; i++) { int

2017-09-10 18:50:12 474

原创 丑数

把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。代码:#include<iostream>#include<vector>#include<algorithm>using namespace std;int fun(int N) { if (N<7) re

2017-09-10 17:03:16 154

转载 [编程题]计算糖果

A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息: A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数. 现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。 输入描述:输入为一行,一共4个整数,分别为A - B

2017-09-09 14:41:34 433

转载 [编程题]买苹果

小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。 输入描述:输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果输出描述:输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1 示例1 输入20 输出3代码

2017-09-09 14:39:03 714

转载 [编程题]最大的奇约数

链接:https://www.nowcoder.com/questionTerminal/49cb3d0b28954deca7565b8db92c5296 来源:牛客网小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。 例如:f(44) = 11. 现在给出一个N,需要求出 f(1) + f(2) + f(3)…

2017-09-09 14:37:16 363

转载 [编程题]暗黑的字符串

一个只包含’A’、’B’和’C’的字符串,如果存在某一段长度为3的连续子串中恰好’A’、’B’和’C’各有一个,那么这个字符串就是纯净的,否则这个字符串就是暗黑的。例如: BAACAACCBAAA 连续子串”CBA”中包含了’A’,’B’,’C’各一个,所以是纯净的字符串 AABBCCAABB 不存在一个长度为3的连续子串包含’A’,’B’,’C’,所以是暗黑的字符串 你的任务就是计算出长度为

2017-09-09 14:34:41 296

转载 [编程题]跳石板

小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3……. 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。 例如: N = 4,M = 24: 4->6->8->1

2017-09-09 14:30:49 166

转载 [编程题]优雅的点

链接:https://www.nowcoder.com/questionTerminal/0960cb46233b446687b77facc9148b89 来源:牛客网小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。 例如:半径的平方如果为25 优雅的点就有:(+/-3, +/-

2017-09-09 14:24:11 215

转载 [编程题]回文序列

如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。 现在给出一个数字序列,允许使用一种转换操作: 选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之前

2017-09-09 14:17:20 417

原创 京东 笔试 编程

题目描述: 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 …… 即大小为k的数字,正好会在序列中连续重复k次。 第n个元素的大小是多少么? 输入: 每个测试文件包含多个测试案例,每个测试案例只有一行,即整数n,1 <= n <= 10^18,代表要查找的第n个元素。 输出: 对于每个测试案例,输出疯狂的jobdu序列中的第n个元素。 样例输入:

2017-09-09 14:09:08 223

原创 网易 编程题 数字翻转

编程题 数字翻转 时间限制:1秒 空间限制:32768K 对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如: 如果 X = 123,则rev(X) = 321; 如果 X = 100,则rev(X) = 1. 现在给出整数x和y,要求rev(rev(x) + rev(y))为多少? 输入描述: 输入为一行,x、y(1 ≤ x、y ≤ 1000),以空

2017-09-09 13:42:49 289

转载 C++ 类、对象知识点

在类体内不允许对成员函数进行初始化。定义类时,类的数据成员不占内存空间;但是,建立类的对象时,只为每个对象分配用于保存数据成员的内存,不为函数成员分配内存。在定义类时,不能定义该类的变量,只能定义该类类型的指针成员和该类类型的引用成员。浅拷贝和深拷贝的区别:当类的数据成员是指针类型时,深拷贝能为新的对象分配内存空间(分配内存空间一般由new运算符实现;拷贝构造函数就是深拷贝),而浅拷贝不能。

2017-09-06 20:45:33 384

原创 回文串

题目描述给定一个字符串,问是否能够通过添加一个字母将其变成“回文串”。 “回文串”是指正着和反着读都一样的字符串。如:”aa”,”bob”,”testset”是回文串,”alice”,”time”都不是回文串。输入 一行一个有小写字母构成的字符串,字符串长度不超过10。样例输入 coco输出 如果输入字符串可以通过添加一个字符,则输出”YES”,否则输出”NO”。样例输出 YES代码:#in

2017-08-30 15:35:17 336

空空如也

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

TA关注的人

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