c/c++
hebastast
这个作者很懒,什么都没留下…
展开
-
c中*和&
上述的四条语句,前面两个很好理解,而后面两个,大部分C++初学者都会比较困惑,今天我也是查阅了一些资料以后才恍然大悟。下面具体来说明一下:int i;int *a = &i;//这里a是一个指针,它指向变量iint &b = i;//这里b是一个引用,它是变量i的引用,引用是什么?它的本质是什么?下面会具体讲述int * &c = a;//这里c是一个引用,它是指针原创 2013-12-26 21:45:04 · 737 阅读 · 0 评论 -
382. Linked List Random Node
class Solution {private: ListNode *head;public: /** @param head The linked list's head. Note that the head is guaranteed to be not null, so it contains at least one node. */ Soluti原创 2016-12-28 15:39:46 · 319 阅读 · 0 评论 -
136. Single Number
class Solution {public: int singleNumber(vector<int>& nums) { map<int,int > count; for(int i=0;i<nums.size();i++) { count[nums[i]]++; } for(auto原创 2016-10-04 15:58:52 · 259 阅读 · 0 评论 -
135. Candy
class Solution {public: int candy(vector<int>& ratings) { int rsize=ratings.size(); if(rsize<=1) return rsize; vector<int> num(rsize,1); for(int i=0;i<n原创 2016-10-04 15:49:51 · 365 阅读 · 0 评论 -
Palindrome Linked List
https://leetcode.com/problems/palindrome-linked-list/ 反转链表的前半部分 反转完后从中间开始向两边比较class Solution {public: bool isPalindrome(ListNode* head) { if (!head) return true; int原创 2016-03-04 22:28:26 · 385 阅读 · 0 评论 -
struct和class的继承方式
在c++中class的继承方式是private的继承方式 struct的继承方式是public的继承方式#include <iostream>using namespace std;class T1{public: void f() { cout << "T1::f()" << endl; } int x, y;};struct T2{原创 2016-01-27 10:32:52 · 2383 阅读 · 0 评论 -
vector中去除重复的元素
1.使用unique函数// UniqueVector.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <iostream>#include <algorithm>#include <vector>using namespace std;int main(){原创 2016-01-25 14:39:10 · 42681 阅读 · 2 评论 -
c++构造函数出现异常导致内存泄漏
c++中的构造函数可能会由于没有内存可分配而抛出异常,但是一旦构造函数抛出异常后则不会再调用析构函数 ,导致内存泄漏。而解决的办法就是在构造函数中不活所有的异常 ,然后回收已经分配的内存 ,然后再抛出自己用以描述这个事件的异常. C++在编译时并不像java那样强制要求遵循抛出列表 c++中如果没有异常抛出列表则可以抛出任何异常 或者写了异常抛出表 也可以不抛出或者少抛出异常 也没有要求调用原创 2015-10-30 16:17:33 · 1039 阅读 · 0 评论 -
最大乘数
题目:给出N个1-9的数字 (v1,v2,…,vN),不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号。并说明其具有优化子结构性质及子问题重叠性质。(20分) 例如: N=5, K=2,5个数字分别为1、2、3、4、5,可以加成: 1*2*(3+4+5)=24 1*(2+3)原创 2015-11-10 09:56:44 · 1464 阅读 · 0 评论 -
n个数 取任意个数相加求和的个数
// MicroSofrInterviewProblem2.cpp : Defines the entry point for the console application.//有若干个给定的数(都小于N),问从中任意取几个数相加,可以得到多少个不同的结果.//处理这种类似背包的时候,注意内层循环一定要memcpy重建一个副本,不然会陷入死循环并越界。如题,j = 0, 当0 + 1记录在re原创 2015-11-10 17:04:01 · 8159 阅读 · 0 评论 -
寻找两个升序数组里的共同值
// MicrosoftInterviewProblem.cpp : Defines the entry point for the console application.//两个含有n个元素的有序(非降序)整型数组a和b(数组a与b中都没有重复元素),求出其共同元素,//a = 0, 1, 2, 3, 4//b = 1, 3, 5, 7, 9//那么它们的交集为{ 1, 3 }。#inc原创 2015-11-10 16:01:21 · 999 阅读 · 0 评论 -
去除相同的字母
// interviewproblem.cpp : Defines the entry point for the console application.////整形数组 {1,1,2,2,3,3,4,4,5,5} ,去掉重复数结果是{1,2,3,4,5}并返回个数5。#include "stdafx.h"#include <iostream>#include <stdlib.h>us原创 2015-11-10 15:39:34 · 771 阅读 · 0 评论 -
最大乘数
题目:给出N个1-9的数字(v1,v2,…,vN),不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号。并说明其具有优化子结构性质及子问题重叠性质。(20分)例如: N=5, K=2,5个数字分别为1、2、3、4、5,可以加成:1*2*(3+4+5)=24 1*(2+3)*原创 2015-11-10 09:55:25 · 778 阅读 · 0 评论 -
大数相乘
这个程序的思路是这样的 比方说 输入17*15 第一步先将输入的字符串类型转换成int类型的向量并反向从低位到高位进行存储 就是 在int向量中 为 7 1 和 5 1 先存低位再存高位 这样 做的主要目的是为了 方便计算时的进位操作 (7,1 )*(5,1)得(35,12,1) 再将(35,12,1)做进位处理 左边是低位右边是高位这个进位操作就显得很简单了 (5,15,1)->(5,5原创 2015-09-15 16:08:36 · 487 阅读 · 0 评论 -
c++中的向量一般操作
.vector的删除操作 1. 可以使用四种方式删除vector中的元素:第一种是使用向量容器vector的成员函数erase(使用这种方式并不能清除删除元素所占的内存空间),由于向量容器vector中的元素在内存中都是按顺序排放的,所以删除某个元素后,会导致迭代器失效,因为删除了一个元素会使其他元素向前移动例如 12345678 中删除6 则变成12345788 就是7和8向前移动了一位而最原创 2015-06-30 20:43:43 · 1878 阅读 · 0 评论 -
c++中map
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作! 1. map最基本的构造函数; map<string , int >mapstring; map<int ,string >mapint; map<sring, char>mapstring; map< char原创 2015-07-01 20:21:26 · 519 阅读 · 0 评论 -
数组名和指针
今天在写代码的时候在编译的时候一直在一个地方出问题Int **p;Int a[2][3];P=a;想了一段时间也上网搜了一些资料终于找到了原因数组的名字就是数组第一个元素的指针,那么要想把a赋值给一个变量这个变量是什么类型呢,先来缝隙下这个数组的第一个元素a[0],a[0]是一个包含有3个int类型数的一维数组,那么他的指针就是指向一个包含3个int类型数的一个指针,那么就需要原创 2014-01-16 13:22:29 · 794 阅读 · 0 评论 -
412. Fizz Buzz
class Solution {public: vector<string> fizzBuzz(int n) { vector<string> ret; for(int i=1;i<=n;i++) { bool timeofthree=(i%3==0); bool timeoffive=(i%5原创 2017-02-07 10:57:08 · 272 阅读 · 0 评论