- 博客(52)
- 资源 (7)
- 收藏
- 关注
原创 C++面试常见题目问与答(汇总一)
总结了一些C++常见的面试题,只是关于C++纯语言的面试题经验不足,水平有限,希望读者能提出宝贵的意见~~~~
2015-08-22 13:31:18 21742 5
原创 LintCode 46. majorityNumber 主元素
46. majorityNumber 主元素题目链接LintCode 46 majorityNumber题目描述给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。样例 给出数组[1,1,1,1,2,2,2],返回 1挑战 要求时间复杂度为O(n),空间复杂度为O(1)分析这个题目在编程之美上面讲过,可以利用一个数学上...
2018-04-24 01:27:40 233
原创 LintCode31. partitionArray 数组划分
31. partitionArray 数组划分题目链接lintcode 31 partitionArray 数组划分题目描述给出一个整数数组 nums 和一个整数 k。划分数组(即移动数组 nums 中的元素),使得:所有小于k的元素移到左边 所有大于等于k的元素移到右边 返回数组划分的位置,即数组中第一个位置 i,满足 nums[i] 大于等于 k。 1. 注意...
2018-04-24 00:21:28 366
原创 简单说一下C++11的并发
C++11中定义的data race是“不同线程中的两个互相冲突的动作,其中至少有一个不是atomic的,而且无一个动作发生在另一个动作之前”。data race总会导致不可预期的行为。在C++11以前,并不能保证“不同的对象拥有各自的内存区”,也就是,在C++98/C++03这个标准是针对单线程的进程的标准,严格来讲,从C++11之前,并行处理不同的对象也可能会导致不可预期的行为。这里只是谈C+...
2018-04-17 15:16:21 2005
转载 值得推荐的C/C++框架和库
http://www.cppblog.com/merlinfang/archive/2014/12/26/209311.html 【本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm】留作存档 【转载留作记录,给自己学习找个方向吧】下次造轮子前先看看现有的轮子吧值得学习的C语言开源项目...
2018-04-11 01:42:26 276
原创 [开发记录]Makefile快速入门
这里简单说一下Makefile的写法,主要是个人的喜欢写法,复杂的语法部门没有加入,只是一些简单的入门,同时也是我经常使用的。常用的函数在Makefile中也是有一些我们常用的函数的,简单的比如:addprefix主要功能就是增加前缀,用法如下:$(addprefix PREFIX,NAMES...)例子:$(addprefix src/,foo.c bar...
2018-04-04 16:54:29 190
原创 [脚本之间]C语言解析Python字典
这里我们简单说一些背景,就是突然想写一点用C去写Python库的东西,下面的这些方法和用法大部分参考官方介绍Python中字典从参数中获取从参数中获取的情况一般有两种,一般是我们如果明确了传入类型就是字典,并且需要知道需要解析的key,那么可以采用如下的方式进行解析:static PyObject *my_func(PyObject* self, PyObject* a...
2018-04-03 00:49:42 1746 2
原创 C++特性小总结
这里主要是介绍一下C++的新特性,包括C++11、C++14、C++17等C++的特性 构造和析构常用的关键字 static 首先是熟悉的面向过程:static在面向对象过程中的使用virtual关键字register关键字关键字extern关键字explicit深拷贝浅拷贝多态四种类型转换 static_cast:const_castdynamic_c
2018-02-01 23:44:56 1279
原创 返回值优化RVO
返回值优化(Return Value Optimization,简称RVO)是一种编译器优化机制,主要是为了减少临时对象的产生。
2015-11-11 02:42:33 946
原创 C++面试常见题目问与答(汇总二)
上一次已经谢了一些东西了,感觉总结的差不多了,这一期主要是上一期的查漏补缺。 这一期主要有:1、copy构造函数的调用时机,(结合360笔试题),以及RVO机制2、对象的构造与析构,包括C++11的move语义,如何使用move语义达到更好的RVO3、vector的扩张机制4、详解RAII:RAII是什么?有什么用?怎么用?5、C++11带来了什么?6、如何回答C++的多态机制等……
2015-09-05 18:01:29 5869 1
原创 华为OJ 整数与IP地址间的转换
ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数。
2015-08-17 20:15:30 1197 1
原创 华为OJ 名字的漂亮度
华为OJ 名字的漂亮度描述 给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。 每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。 给出多个名字,计算每个名字最大可能的“漂亮度”。
2015-08-17 19:55:57 828
原创 lambda函数
在C++11中引入了lambda函数,焕然一新的感觉,从最早基于命令式编程范型的C语言,到加入了面向对象编程范型血统的C++,再到逐渐融入了函数式编程范型的lambda的新语言规范C++11。
2015-06-08 21:43:49 1336
原创 C++11的线程库(一)
个人认为C++11最明智的举动之一就是加入了线程库,在多核CPU越来越普及,在多线程编程日益,我们可以说是”疯狂“的时代,一个不支持多线程(我是指本身不支持,在编程过程中需要依赖线程库)的语言,如何能普遍适用? 在C++11之前在C/C++中使用多线程编程并非鲜见,这样的代码主要是使用POSIX线程Pthread和OpenMP编译器指令两种编程模型来完成程序的线程化。
2015-05-27 17:24:23 4523
原创 只考加法的面试题
问题1:写一个程序,对于一个64位正整数,输出它所有可能的连续自然数之和的算式。 问题2:不能写成这样的数字有什么规律呢?问题3:在64位正整数范围内,子序列数目最多的数是哪一个?能不能用数学知识推导出来?
2015-04-14 20:16:54 541
原创 OJ 002 Add Two Numbers
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 linke
2015-04-09 16:23:52 353
原创 排序
关于排序的算法,算是基础知识了,排序的算法有很多,这里总结一些常见的算法:冒泡排序、选择排序、插入排序、快速排序、桶排序、shell排序、归并排序等。
2015-04-09 11:31:36 593
原创 乱序序列保序输出
要求设计一个乱序的序列保序输出,例如,假设起始序号是1,对于{1,2,5,8,10,4,3,6,9,7}这个序列,保序输出的结果是: 1 2 3,4,5 6 7,8,9,10 上述例子中,3来到的的时候会发现4,5已经在了,因此将已经满足顺序的整个序列(3,4,5)输出
2015-04-03 20:07:14 759
原创 和0排序-Google笔试题
在牛客网上遇到的一道据说是2013年Google的笔试题目,感觉很有意思。 长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的交换,完成函数.
2015-03-30 16:29:11 2362
原创 OJ 19 Remove Nth Node From End of List
Given a linked list, remove the nth node from the end of list and return its head.
2015-03-26 11:05:46 401
原创 指针函数和函数指针
函数指针函数指针:指向函数的指针变量,在C编译时,每一个函数都有一个入口地址,那么指向这个函数的函数指针便是指向这个地址。函数指针主要有两个作用:用作调用函数和做函数的参数。int (*func)(int x);诸如上面的代码这是申明了一个函数指针,代码(*func)中括号是必须的,这会告诉编译器这是一个函数指针而不是声明一个具有返回类型为指针的函数,后面的形参要是这个函数所指向的
2015-03-24 15:47:27 368
原创 C++虚函数和纯虚函数的异同
虚函数又称为虚方法,虚方法是父类的一个组成部分,但是可以被不同的子类重写。虚函数的关键字是virtual,如下所示,是一个简单的虚函数的声明:class Base{public: virtual void putout();};在虚函数中有一个特殊的虚函数,称为纯虚函数:class Base{public: virtual void putout() = 0;
2015-03-24 15:45:53 544
原创 OJ 169 Majority Element
题目要求:Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.You may assume that the array is non-empty and the majority eleme
2015-03-24 15:44:20 360
原创 重写、重载和重定义的区别
重写(override)首先,重写是指派生类的方法覆盖基类的方法,要求方法名、方法的参数都相同。重写是C++中实现多态这个特性基础。重写又称为覆盖,是指派生类函数覆盖基类函数,与重定义不同,重写要求被重写的基类函数为虚函数。例如下面的代码:?12345678910111213141516
2015-03-24 15:41:19 914
原创 OJ172
题目要求:Given an integer n, return the number of trailing zeroes in n!.我的解法:int trailingZeroes(int n) { if(n>=5) { int k = n/5; return k+trailingZeroes(k); } else
2015-03-24 15:40:38 286
原创 Sublime Text如何安装插件
首先是要安装插件管理器,关于安装方法,作者在网站上已经说的很详细了,https://sublime.wbond.net/installation#st2(一)简单安装方式1、按快捷键ctrl+`(Esc键的下一行键的第一个)或从菜单View->Show Console(查看->控制面板)中打开。2、Sublime Text 2中复制以下代码回车执行import urllib2,os
2015-03-24 15:39:36 379
原创 QtWebKit开发继续(一)
我们这一次主要是使用比较傻瓜式的开发模式,就是鼠标的点和拖……设计功能首先我们要设计一下这个浏览器需要什么功能和按键:上网前进后退刷新收藏首先是第一个,那么就需要使用到QWebView这个模块,打开Qt,新建一个工程,我一直想做一个浏览器,于是将名字定为F2T,构建好工程,双击ui文件,进入设计界面开始傻瓜开发模式。先拖一个QGridLayout作为布局,然后拖动QLine
2015-03-24 15:36:36 419
原创 QtWebKit初接触
这里主要讲一下QtWebKit的小应用,在Qt中建立一个Qt Application程序,我的程序的名字为QtWebKit。然后修改HelloWebKit.pro代码:[cpp] view plaincopyprint?#------------------------------------------------- # # Project created b
2015-03-24 15:34:20 384
Effective Modern C++
2015-04-21
DirectX.11游戏编程入门
2015-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人