- 博客(4)
- 收藏
- 关注
原创 剑指offer面试题36-数组中的逆序对
问题描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。例如, 在数组{7,5,6,4}中,一共存在5个逆序对,分别是(7,6),(7,5),(7,4),(6,4)和(5,4),输出5.问题求解:归并排序以数组{7, 5, 6, 4}为例来分析统计逆序对的过程。每次扫描到一个数字的时候,我们不能拿它和后面的每一个数字作比较
2016-06-11 21:32:39 672 1
原创 leetcode-Ugly Number(丑数)
问题描述:我们把只包含因子2,3,5的数称为丑数。求第n个丑数。通常,把1称为第一个丑数。问题求解:方法一:挨个判断每个数是不是丑数,即使不是丑数也会对它求余数和除法操作。算法效率不是很高,leetcode会超时。class Solution {public: int nthUglyNumber(int n) { if(n<=0) return 0; int
2016-06-11 15:16:20 485
原创 leetcode179-Largest Number(把数组排成最大的数)
问题描述:输入一个正整数数组,把数组里的所有数字拼接起来排成一个数,打印能拼接出的所有数字中最大的一个。例如输入数组{3,32,321},则打印出332321.问题求解:这道题和剑指offer面试题33:把数组排成最小的数一样思路。就是要找到一种排序规则,数组根据这个规则排序之后能排成一个最大的数字。要确定这个规则,就要比较2个数字:给出m和n,我们需要确定规则来判断m和n那个应该排在前面,而不仅仅
2016-06-11 11:52:22 5831 1
原创 《Exceptional c++》和《提高c++性能的编程技术》学习笔记
1、c++临时对象创建对象是一个费时,费空间的操作,会产生临时对象的几种情况:1)以值的方式给函数传参 按值传递时,首先将需要传给函数的参数,调用拷贝构造函数创建一个副本,所有在函数里的操作都是针对这个副本的,也正是因为这个原因,在函数体里对该副本进行任何操作,都不会影响原参数。指导原则:在传递函数参数时,选择以常量引用的方式,而不是传值方式。2)类型转换 我们在做类型转换时,转换后的对象通常
2016-06-10 12:19:51 836
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人