- 博客(44)
- 资源 (3)
- 收藏
- 关注
原创 堆排序C++
#include <vector>#include <iostream>#include <stdio.h>#define left(i) (2*i+1)#define right(i) (2*(i+1))using namespace std;void swap(int &a, int &b){ int c = a; a = b; b = c;}void
2015-10-14 10:50:54
394
原创 Leetcode 241- Different Ways to Add Parentheses
Given a string of numbers and operators, return all possible results from computing all the different possible ways to group numbers and operators. The valid operators are +, - and *.Example 1 Input:
2015-07-27 22:51:52
1332
原创 leetcode-Minimum Size Subarray Sum
Given an array of n positive integers and a positive integer s, find the minimal length of a subarray of which the sum ≥ s. If there isn't one, return 0 instead.For example, given the array [2,3
2015-05-12 10:01:07
823
原创 质数问题
求包含n的n以内所有质数,从第一个质数开始,则该质数的倍数为合数,一直到sqrt(n),便可以找出所有质数class Solution {public: int countPrimes(int n) { if (n <= 2) return 0; vector primes(n+1,true); for(int i=2*2;i
2015-05-08 10:43:53
767
原创 C++指向虚函数表指针存放位置
传统上vptr放在所有显式声明的成员的最后,不过如今也有一些编译器将vptr放在class object的最前端——摘自《inside the C++ object model》
2015-05-05 14:41:35
1369
转载 机器学习常见算法汇总
学习方式 根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要的学习方式。将算法按照学习方式分类是一个不错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得最好的结果。 监督式学习: 在监督式学习下,输入数据被称为“训练数据”,每组训练数据有一个明确的
2015-03-03 09:19:39
1019
转载 动态规划与递归非递归
递归算法就是通过解决同一问题的一个或多个更小的实例来最终解决一个大问题的算法。为了在C语言中实现递归算法,常常使用递归函数,也就是说能调用自身的函数。递归程序的基本特征:它调用自身(参数的值更小),具有终止条件,可以直接计算其结果。 在使用递归程序时,我们需要考虑编程环境必须能够保持一个其大小与递归深度成正比例的下推栈。对于大型问题,这个栈需要的空间可能妨碍我们使用递归的方法。
2015-02-02 15:49:03
988
转载 KMP
KMP的优势就在于可以让模式串向右滑动尽可能多的距离就是abc直接从模式串的第三个字母aba...开始匹配,为了实现这一目标,KMP需要预处理出模式串的next数组理解KMP的关键是你要理解next数组,next数组中保存的就是一个模式串的后缀与前缀的最长匹配,即next[i]=max(len),使得next[0]=next[i-len],next[1]=next[i-len+1]...,
2015-01-28 23:14:20
478
原创 leetcode-Maximum Gap
Given an unsorted array, find the maximum difference between the successive elements in its sorted form.Try to solve it in linear time/space.Return 0 if the array contains less than 2 elements
2014-12-14 09:21:42
1607
转载 学习Linux系统的十一点建议
学习Linux系统的十一点建议随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。如何得到联机帮助和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。 随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然
2014-09-19 19:17:28
447
原创 数组入栈出栈顺序
void inoutStack(vector charStack,vector &charArr,int n,string s,vector &result){ if(n==charArr.size()) { while(charStack.empty()==0) { s.push_back(charStack.back()); charStack.pop_back();
2014-08-28 20:25:21
1733
转载 C++实现设计模式: Factory 工厂模式
Definition Basically a Factory consists of an interface class which is common to all of the implementation classes that the factory will create. Then you have the factory class which is usually a
2014-08-28 01:47:55
461
转载 程序命名
选择一个正确的名字是编程中最重要的事。以前酷壳向大家推荐过两篇文章《编程命名中的7+1个提示》 和《编程中的命名设计那点事》,今天再向大家推荐一篇。一个正确的命名可以让你更容易地理解代码的程序,好的命名可以消除二义性,消除误解,并且说明真实的意图,甚至可以让你有清新的气息以让你更能吸引异性。;-)方法,类和变量正确的名字可以让你的程序顾名思义,下面是一些提示:不要使用”Pr
2014-08-28 01:09:03
606
转载 程序员技术路线全攻略
月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历
2014-08-28 01:06:25
1155
原创 leetcode20-Valid Parentheses
Given a string containing just the characters '(', ')','{', '}', '[' and ']', determine if the input string is valid.The brackets must close in the correct order, "()" and "()[]{}" are all valid b
2014-08-27 21:18:20
454
原创 leetcode19-Remove Nth Node From End of List
Given a linked list, remove the nth node from the end of list and return its head.For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the l
2014-08-27 20:51:50
472
原创 leetcode18-Letter Combinations of a Phone Number
Given a digit string, return all possible letter combinations that the number could represent.A mapping of digit to letters (just like on the telephone buttons) is given below.Input:Digit stri
2014-08-27 20:07:58
488
原创 leetcode7-Reverse Integer
Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321
2014-07-17 20:45:19
478
原创 leetcode6-ZigZag Conversion
The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P A H NA P L S I
2014-07-17 20:34:48
484
原创 leetcode5-Longest Palindromic Substring
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.class Solution {p
2014-07-17 11:07:31
483
原创 leetcode4-Add Two Num
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a link
2014-07-17 09:18:44
484
转载 2014-7 Andrew Ng 自动化所报告
Ng的报告总体上提到了五个方向。 1)Deep Learning相比于传统方法的优势 首先,一个很直观的图,随着训练量的提高,传统方法很快走到天花板,而Deep Learning的效果还能持续走高,后来这个在提问环节也有同学问道,是否会一直提高,Andrew Ng也坦诚需要面对不同的问题来讨论,而且任何方法都有天花板。 Andrew N
2014-07-13 11:40:13
682
转载 Andrew ng清华报告
Andrew ng今天来清华作报告,我就几点重要的内容,谈谈理解和想法。 1)特征表示的粒度 学习算法在一个什么粒度上的特征表示,才有能发挥作用?就一个图片来说,像素级的特征根本没有价值,无法进行摩托车正例和负例的区分,而如果特征是一个具有结构性(或者说有含义)的时候,比如是否具有handlebars,是否具有wheel,就很容易把正例和负例区分,学习算法才能发挥
2014-07-13 11:39:23
605
转载 面试的知识(收集)
关于面试的知识(收集)linux和os:netstat tcpdump ipcs ipcrm (如果这四个命令没听说过或者不能熟练使用,基本上可以回家,通过的概率较小,这四个命令的熟练掌握程度基本上能体现面试者实际开发和调试程序的经验)cpu 内存 硬盘 等等与系统性能调试相关的命令必须熟练掌握,设置修改权限 tcp网络状态查看 各进程状态 抓包相关等相关命令 必须熟练
2014-07-13 11:13:51
552
转载 透过strcpy()看问题
转载请注明原文来自:http://blog.csdn.net/lizhiliang06/article/details/8649336小明最近写程序发现经常会出现一些莫名其妙的错误,就过来问大明,说程序总是出现问题的,而且莫名其妙的就挂在了strcpy这里了,郁闷了挺久的了,于是刚毕业不久的小明还是不太好意思的来问了大明,大明看了小明的代码,发现了一些问题,这些
2014-07-13 09:20:48
465
转载 如何判断链表中存在环路
如果你曾经想过要参加面试,像我一样,你一定看过这个问题:如何判断链表中存在环路。(我不太清楚这个问题的应用在哪里,烦请各位读者能够提示一下。)先简单说一下我之前看到的方法。方法一:蛮力法。方法二:在链表中增加一个域visited,初始化都为0,从链表的头部开始走,每走过一个链表就标记visited为1,如果要访问的下一个节点的visited域为1,那么证明链表中有环。
2014-07-10 14:52:58
795
转载 如何过华为机试
大师兄教你如何过华为机试 宝典1—内功心法 大华为这个大数据时代土豪金海量式的招聘又要开始了!!! 近期听说大华为的校招机试马上就要开始了,由于华为软件岗位的招聘只有技术面跟机试是与技术有关的内容,所以机试的地位非常重要。对于机试,除了长期积累的软件基本功以外,还有很多可以短期训练的东西,类似于考试之前的突击,可以迅速提高机试成绩,就像在我西电大杨老师考前最后一堂课一定要去,那
2014-07-01 00:04:38
5529
原创 Effective C++读书笔记:TIP21~宁以pass-by-reference-to-const替换pass-by-valuue
Tip21:宁以pass-by-reference-to-const替换pass-by-valuue
2014-05-24 19:59:11
519
转载 C++多态性
C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphisn),字面意思多种形状。 C++多态性是通过虚函数来实现
2014-05-24 19:20:49
432
转载 C++中的delete和delete[]
一直对C++中的delete和delete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。 C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。 关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2
2014-05-23 22:05:28
481
原创 C++中虚函数和普通函数的区别
虚函数跟普通函数的区别就是当基类指针或引用指向派生类对象时,通过指针或引用调用成员函数,对于非虚函数,调用的是静态类型(指针/引用类型)的版本,对于虚函数,在运行时动态绑定,调用的是实际类型的版本。。例子你可以看一下输出的前两行。
2014-05-19 20:36:53
2123
2
转载 C++虚函数表
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。虚函数表 对C++ 了解的
2014-05-19 20:20:05
398
转载 C/C++中作用域
作用域规则告诉我们一个变量的有效范围,它在哪儿创建,在哪儿销毁(也就是说超出了作用域)。变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号。也就是说,作用域由变量所在的最近一对括号确定。(1) 全局变量: 全局变量是在所有函数体的外部定义的,程序的所在部分(甚至其它文件中的代码)都可以使用。全局变量不受作用域的影响(也就是说,全局变量的生命期一直
2014-05-19 17:09:20
490
转载 C/C++中const关键字详解
为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下: 常变量: const 类型说明符 变量名 常引用: const 类型说明符 &引用名 常对象: 类名 const 对象名 常成员函数: 类名:
2014-05-19 15:59:59
399
转载 头文件不宜定义变量原因解析
转自:http://hi.baidu.com/zengzhaonong/blog/item/8c10e90366c2bf733912bbb0.html http://blog.csdn.net/wzsbll/article/details/6655919 test-1.0使用#ifndef只是防止了头文件被重复包含(其实本例中只有一个头件,不会存在
2014-05-18 10:52:08
514
转载 栈与堆的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两
2014-05-18 10:48:54
394
转载 Leetcode难度
转载自:LeetCode Question Difficulty Distribution 1Two Sum25arraysort setTwo Poin
2014-05-03 19:53:52
633
转载 C++中引用与指针
下面用通俗易懂的话来概述一下:指针-对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const、volatile等等。见下图,所示指针的含义:引用-引用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用。见下图,所示引用的含义:2、指针和引用的区别
2014-05-02 11:13:56
470
涉足计算机视觉领域要知道的
2012-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人