C++
文章平均质量分 62
小威威__
这个作者很懒,什么都没留下…
展开
-
Leetcode: 贪心算法
Leetcode 455Leetcode 135Leetcode 435Leetcode 605Leetcode 452Leetcode 763Leetcode 122Leetcode 406Leetcode 455 Assign Cookies (Easy)Assume you are an awesome parent and want to give your children some cookies. But, you should give each child at mos原创 2021-01-09 13:08:34 · 732 阅读 · 0 评论 -
Leetcode: 13. Roman to Integer(Week2, Easy)
注:本题总结了罗马数字的表示规律并设计算法实现罗马数字与阿拉伯数字的转换 Leetcode 13 Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 to 3999.题意:给出一个罗马数字,请你编写一个程序将之转化为整数思路:罗马数字原创 2017-09-14 23:38:56 · 300 阅读 · 0 评论 -
Cocos2d-x:学习笔记(2017.05.12更新)
1.参考链接汇总官方接口文档 关于Cocos2d-x中addchild和removeChild方法的参数的解析 Cocos2d-x3.2 Menu菜单的创建 cocos 中熟练运用场景的切换 cocos2dx一个场景添加多个层 Cocos2d-x Layer锚点设置 cocos2d-x convertToWorldSpace 和 convertToNodeSpace cocos2d-原创 2017-05-01 20:41:13 · 1636 阅读 · 0 评论 -
Sicily: Campus(Floyd-Warshall算法)
Description At present, Zhongshan University has 4 campuses with a total area of 6.17 square kilometers sitting respectively on both sides of the Pearl River or facing the South China Sea. The Guang原创 2016-12-09 10:30:15 · 780 阅读 · 0 评论 -
sicily: Highways
Description The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public highways. So the traffic is difficult in Flatopia. The Flatopian government is aware of this proble原创 2016-12-08 20:54:13 · 866 阅读 · 0 评论 -
Sicily: ordering task(算法逐层优化)
Description John has n tasks to do. Unfortunately, the tasks are not independent and the execution of one task is only possible if other tasks have already been executed. Input There are mu原创 2016-12-07 22:20:10 · 541 阅读 · 0 评论 -
Sicily: 连通性问题(算法逐层优化)
Description: 关系R具有对称性和传递性。数对p q表示pRq,p和q是0或自然数,p不等于q。 要求写一个程序将数对序列进行过滤,如果一个数对可以通过前面数对的传递性得到,则将其滤去。例如: 输入 输出 连通性 3 4— 3 4 4 9— 4 9 8 0— 8 0 2 3— 2 3 5 6— 5 6 2 9— XX—原创 2016-12-06 22:17:57 · 1271 阅读 · 0 评论 -
Sicily1133: SPAM (电子邮箱匹配)
Description You never had any friends, and don’t really want any anyways, and so you have decided to collect email addresses from web pages for direct e-mail advertising. The text delivered t原创 2016-10-18 23:27:26 · 4545 阅读 · 0 评论 -
C++:二分图染色法---双栈排序
题目如下: sicily 1002. 双栈排序 Description Tom最近在研究一个有趣的排序问题。如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序。操作a:如果输入序列不为空,将第一个元素压入栈S1 操作b:如果栈S1不为空,将S1栈顶元素弹出至输出序列 操作c:如果输入序列不为空,将第一个元素压入栈S2 操作d:如果栈S2不为空,将S2栈顶元素原创 2016-09-21 14:06:04 · 7766 阅读 · 5 评论 -
C++: 背包问题
题目: 背包问题:假设有一个能装入总体积为T的背包和n件体积分别为W1,W2,…,Wn的物品,能否从n件物品中挑选若干件恰好装满背包,使Wi1+Wi2+…+Win=T,要求找出所有满足上述条件的解。思路: 采用循环内调用递归的方式,同时利用回溯的思想,将情况遍历一遍并取出符合条件的输出。代码:# include <iostream># include <vector>using namesp原创 2016-10-09 09:34:40 · 3499 阅读 · 1 评论 -
C++:罗列出1~100000000的所有雷劈数(算法优化版本)
了解雷劈数原理,根据定义设计代码,有选择地遍历数据(开方为整数的数据),将符合情况的数据筛选输出. 代码如下:# include <iostream># include <math.h># include <iomanip>using namespace std;void Judge(void) { for (int i = 9; i < 10000; i++) { // 最小的雷劈原创 2016-09-02 17:11:28 · 6844 阅读 · 0 评论 -
C++:C++11新特性详解(1)
前言:虽然目前没有编译器能够完全实现C++11,但这并不意味着我们不需要了解,学习它。深入学习C++11,你会发现这根本就是一门新的语言,它解决了c++98中许多遗留下来的问题。早晚会有一天,C++11便会普及大部分编译器。因此,提早做些准备也是应该的。在此我想做一个关于C++11的专题,将C++11的新特性进行一一讲解,以通俗易懂的语言及例子帮助读者入门C++11。本文便是C++11新特性超详细版原创 2016-06-05 23:28:49 · 45677 阅读 · 11 评论 -
Halting problem(停机问题)
1.Introduction In computability theory, the halting problem is the problem of determining, from a description of an arbitrary computer program and an input, whether the program will finish running or原创 2016-06-02 00:40:51 · 3490 阅读 · 0 评论 -
Leetcode: 15. 3Sum(Week3,Medium)
注:本题算法无需实现去重操作。 Leetcode 15 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero. Note: T原创 2017-09-24 17:48:21 · 352 阅读 · 0 评论 -
Leetcode: 70. Climbing Stairs(Week1, Easy)
注: 本文使用三种方法实现Fibonacci Sequence:递归法、非递归法、矩阵快速幂法 Leetcode 70 You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinc原创 2017-09-08 15:17:33 · 684 阅读 · 1 评论 -
Leetcode: 73. Set Matrix Zeroes(Week15, Medium)
Leetcode 73 Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.题意:将矩阵中元素为0的对应行、列全部置0.思路:遍历整个矩阵,用两个set容器存储0元素的行与列,然后扫描完后,再执行置0操作。其中,对置换行,可以赋值长为n且全为0的vector数原创 2017-12-17 22:25:44 · 367 阅读 · 0 评论 -
Leetcode: 216. Combination Sum III(Week14, Medium)
Leetcode 216 Find all possible combinations of k numbers that add up to a number n, given that only numbers from 1 to 9 can be used and each combination should be a unique set of numbers. Examp原创 2017-12-11 08:54:54 · 307 阅读 · 0 评论 -
Leetcode: 40. Combination Sum II(Week13, Medium)
Leetcode 40 Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T. Each number in C may only be used once原创 2017-12-11 08:48:20 · 345 阅读 · 0 评论 -
Leetcode: 39. Combination Sum(Week12, Medium)
Leetcode39: Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all unique combinations in C where the candidate numbers sums to T. The same repeated number原创 2017-12-11 08:39:01 · 265 阅读 · 0 评论 -
Leetcode: 43.Multiply Strings(Week11, Medium)
注:本题使用的是高精度乘法的思路 Leetcode 43 Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2. Note: (1)The length of both num1 and num2 is < 110.原创 2017-11-19 09:08:46 · 296 阅读 · 0 评论 -
Leetcode: 16. 3Sum Closest(Week5, Medium)
学号: 15331204 方向: 数媒 姓名: 林威宏对称密码有五个组成部分: (1) 明文(M)(2) 密文(C)(3) 密钥(K)(4) 加密算法(E)(5) 解密算法(D)接下来的内容皆参照以上的符号定义。1. 算法原理概述DES,即Data Encryption Standard(1) 是一种对称加密算法,典型的DES以64位为分组对数据进行加密,且加密与解密用的是同一原创 2017-10-05 16:26:56 · 362 阅读 · 0 评论 -
Leetcode: 133. Clone Graph(Week6, Medium)
注:本题使用BFS算法 Leetcode 133 Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors. OJ’s undirected graph serialization: Nodes are labeled uniquely.原创 2017-10-15 14:01:38 · 306 阅读 · 0 评论 -
Leetcode: 130. Surrounded Region(Week7, Medium)
注: 本题使用BFS算法求解 Leetcode 130 Given a 2D board containing ‘X’ and ‘O’ (the letter O), capture all regions surrounded by ‘X’. A region is captured by flipping all ‘O’s into ‘X’s in that surround原创 2017-10-21 12:13:49 · 349 阅读 · 0 评论 -
Leetcode: 322. Coin Change(Week8, Medium)
注:本题是需要装满的完全背包问题 Leetcode 322 You are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest number of coins that you need to make up tha原创 2017-10-29 21:17:41 · 344 阅读 · 0 评论 -
Leetcode: 34. Search for range(Week9, Medium)
注:本题采用二分法的思想 Leetcode 34 Given an array of integers sorted in ascending order, find the starting and ending position of a given target value. Your algorithm’s runtime complexity must be in th原创 2017-11-05 17:04:49 · 294 阅读 · 0 评论 -
Leetcode: 515.Find Largest Value in Each Tree Row(Week10, Medium)
注:本题采用的是BFS算法 Leetcode 515 You need to find the largest value in each row of a binary tree. Example: Input: 1 / \ 3 2 / \ \ 5 3 9 Output: [1, 3, 9]题意:找到二原创 2017-11-09 16:15:35 · 287 阅读 · 0 评论 -
Leetcode: 48.Rotate Image(Week4, Medium)
本题采用了两种解法:常规解法与特殊解法 Leetcode 48 You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). Note: You have to rotate the image in-place, which原创 2017-10-01 16:18:32 · 253 阅读 · 0 评论 -
C++:浅谈工厂模式与抽象工厂模式
C++:浅谈工厂模式与抽象工厂模式标签: C++ 工厂模式 抽象工厂模式by 小威威之前写过一篇谈模式的文章:单例模式接下来我将浅显的谈谈工厂模式与抽象工厂模式。工厂模式与抽象工厂模式虽有差异,但实现的目的可以看成一致的:They offers the interface for creating a family of related objects, without explicitly spe原创 2016-04-24 13:53:18 · 5494 阅读 · 0 评论 -
C++:探究纯虚析构函数以及实现数组的快速排序与链表的归并排序
C++:探究纯虚析构函数以及实现数组的快速排序与链表的归并排序标签: 数据结构 数组 链表 快速排序 归并排序 抽象类 虚继承by 小威威1.介绍本篇博文将通过课后作业的(15 C++ Homework) D&A 5 Collection with Inheritance来讲解一些重要的排序与零散的知识。而且,本人以科学严谨的态度,对抽象类中析构函数的调用情况进行了分类讨论并一一试验,最终得出了“抽原创 2016-04-21 20:46:58 · 2081 阅读 · 0 评论 -
C++:[STL]浅谈Allocator以及详解STL之sequence container的操作及使用(vector)
// 2016-05-13 补充Allocator(空间配置器)的介绍1.引入STL,即 standard tempalate library,标准模板库,是C++的重要组成部分。C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。STL的构成: 组成部分 描述 iterat原创 2016-05-12 22:19:32 · 15904 阅读 · 1 评论 -
C++: 解释error: call of overloaded ‘abs(int)’ is ambiguous
C++: 解释error: call of overloaded ‘abs(int)’ is ambiguous标签:C++ overload abs(int)by 小威威昨天在完成课后作业的时候我发现在<cmath>头文件下,return abs(x1*x2)在ubuntu上g++编译成功,但在作业网就编译不成功,错误信息如下:(x1,x2指的是变量)Compilation fail. Vec原创 2016-02-27 10:36:46 · 49404 阅读 · 2 评论 -
C++: string 中find函数的用法以及string::npos的含义
C++: string 中find函数的用法以及string::npos的含义标签:C++ string find函数 npos 字符串包含by 小威威问题:有两个字符串a、b, 现想判断a字符串是否包含b字符串,该如何设计程序?思路:此处需要用到string库中的find函数与npos参数。先说说string::npos参数: npos 是一个常数,用来表示不存在的位置,类型一般是std原创 2016-02-26 22:04:28 · 31138 阅读 · 5 评论 -
C++: 16.03.04实验课总结
C++: 16.03.04实验课总结标签: C++ 实验课by 小威威 1.缺省构造函数缺省构造函数主要有两种类型:(1)无形参;(2)有形参。class Student { public: Student(); // 无形参 Student(int a1, int b1 = 0, int c1 = 0); // 有形参 private:原创 2016-03-09 20:30:07 · 935 阅读 · 0 评论 -
(转载)C++:浅拷贝与深拷贝
(转载)C++:浅拷贝与深拷贝以下内容摘自飞天絮雪。先说下自己的理解吧,浅拷贝,即在定义一个类A,使用类似A obj; A obj1(obj);或者A obj1 = obj; 时候,由于没有自定义拷贝构造函数,C++编译器自动会产生一个默认的拷贝构造函数。这个默认的拷贝构造函数采用的是“位拷贝”(浅拷贝),而非“值拷贝”(深拷贝)的方式,如果类中含有指针变量,默认的拷贝构造函数必定出错。 用一句转载 2016-03-09 14:06:10 · 552 阅读 · 0 评论 -
C++:<sstream>头文件的应用
C++:<sstream>头文件的应用以下内容摘选自:厚积薄发在过去留下来的程序代码和纯粹的C程序中,传统的<stdio.h>形式的转换伴随了我们很长的一段时间。但是,如文中所述,基于stringstream的转换拥有类型安全和不会溢出这样抢眼的特性,使我们有充足得理由抛弃<stdio.h>而使用<sstream>。<sstream>库还提供了另外一个特性—可扩展性。你可以通过重载来支持自定义类型间转载 2016-03-09 13:43:54 · 4419 阅读 · 0 评论 -
C/C++: 预处理指令
C/C++: 预处理指令标签: C/C++ 预处理指令by 小威威今天我来简要地总结一下预处理指令。众所周知,预处理指令可用于文件包含,宏定义与条件编译。 文件包含的关键字就是: #include 宏定义的关键字是: #define 条件编译的关键字是: #if #ifdef #ifndef #else #endif 对于文件包含,我觉得我就不用多解释了,相信大家非常熟悉。宏定义,也就是#原创 2016-02-23 22:06:12 · 660 阅读 · 0 评论 -
C++:只用初始化列表初始化变量的几种情况
C++:只用初始化列表初始化变量的几种情况标签: C++ static const 初始化列表by 小威威这篇文章主要阐述在C++中只能用初始化列表初始化变量的几种情况。在这之前,我们要区分好初始化和赋值。初始化是在定义变量的时候出现的,而赋值是定义变量之后出现的。构造函数体内只能执行赋值操作,而初始化列表能执行初始化操作。1.类成员函数中const变量的初始化(也就是第一点)有几个容易混淆的地方:原创 2016-03-31 15:09:51 · 2638 阅读 · 0 评论 -
C++:重载运算符避免数组越界
C++:重载运算符避免数组越界标签: C++ 重载运算符 数组越界by 小威威我们知道,数组越界有时候会引发很危险的行为,然而编译器却不能检测出数组越界,那么,我们该如何预防这一危险的行为呢?那就是重载[]运算符。代码如下://// main.cpp// overload_operators[]//// Created by apple on 16/2/21.// Copyri原创 2016-02-21 14:34:39 · 1728 阅读 · 0 评论 -
C++: 重载前缀运算符与重载后缀运算符(以++为例)
C++: 重载前缀运算符与重载后缀运算符(以++为例)标签: C++ 重载运算符 前缀运算符 后缀运算符by 小威威在C++中如何区分重载前缀运算符与重载后缀运算符呢?不难发现,重载后缀运算符带有形参int而重载前缀运算符没有。这个形参的作用只是为了区分二者,并没有实际的意义。我们知道,a++与++a是有区别的,如c = a++ 与 c = ++a,两个c的值是不同的。因为前者是先将a赋给变量c,原创 2016-02-21 11:34:58 · 7923 阅读 · 2 评论 -
C++:由输出推断继承关系
C++:由输出推断类之间继承关系标签: C++ 继承by 小威威本文主要是对实验课的“Easy Inheritance”的讲解。题目如下: (Author: 欧文杰(TA))This is the easiest problem I have met! (真心想吐槽这句话!!!)There are 5 classes A, B, C, D, and E.Each class has the fol原创 2016-03-30 00:42:41 · 727 阅读 · 0 评论