C++
小贤2016
中山大学数据科学与计算机学院16级研究生
展开
-
C++11线程安全队列实现
实现了一个C++11线程安全队列,可以作为模板使用。#include <functional>#include <iostream>#include <memory>#include <mutex>#include <thread>#include<vector>#include <condition_variable>template <typename T>class threadsa原创 2021-09-15 17:20:29 · 1669 阅读 · 0 评论 -
大数乘法
大数乘法是一个经常会遇到的问题,在Java中这个问题很容易解决,直接用BigInteger就okl了。但是在C++、C中就不那么容易了,在做LeetCode过程中就遇到了这道题,第43题“Multiply Strings”:https://leetcode.com/problems/multiply-strings/#/description。 我在网上查了一下,也看了LeetCode上的discu原创 2017-07-17 21:09:04 · 327 阅读 · 0 评论 -
C++: 谓词函数、函数对象(仿函数)、回调函数总结
谓词函数:predicate function。什么是谓词,其实就是一个判断式,说白了就是一个返回bool值的函数。(这里说明了谓词可以有2种形式)几元就是函数有几个参数,至于定义和使用,函数定义和一般的函数定义一样。函数对象:又称做仿函数(functor),它的本质是重载operator()操作符的类。使用就是在那些以这种需要返回bool值的函数作参数的函数里用了。回调函数:callback fu原创 2017-07-08 11:03:14 · 1301 阅读 · 0 评论 -
STL: Map 的操作
之前去笔试考了Map的操作,但是忘了,在这学习一下。1、map构造方法有几种,通常用的一种如:Map<int,int> map; 2、map的插入操作: map.insert(pair<int, int>(1,1)) 或者用数组方式插入(相同键可以覆盖)map[1] = 1; map[2] = 2;3、map的大小: map.size()4、map的遍历: (1)使用迭代器进行遍历。 (原创 2017-07-04 20:02:22 · 334 阅读 · 0 评论 -
LeetCode: count and say
题目:The count-and-say sequence is the sequence of integers with the first five terms as following:111211211111221 1 is read off as “one 1” or 11. 11 is read off as “two 1s” or 21. 21 is read off原创 2017-06-09 11:09:24 · 219 阅读 · 0 评论 -
一天一个算法: O(n)回文串算法—Manacher算法
本文转自O(n)回文子串(Manacher)算法 问题描述:输入一个字符串,找出其中最大的回文子串,子串的含义是:在原串中连续出现的字符串片段。回文的含义是:正着看和倒着看相同,如abba和yyxyy。解析:这里介绍Manacher算法,算法的时间复杂度为O(n)。算法基本要点:首先用一个非常巧妙的方式,将所有可能的奇数/偶数长度的回文子串都转换成了奇数长度:在每个字符的两边都插入一个特殊的符号。转载 2017-05-10 15:09:54 · 257 阅读 · 0 评论 -
每天一个算法: 全排列算法
全排列算法:给出一个有n个元素的集合,求出这个集合所有可能的排列。 一、 递归的方法void permutation(char *arr, int k , int m){ if(k == m){ for(int i =0; i< m; i++){ cout<<arr[i]; //输出排列原创 2017-05-09 16:11:36 · 1479 阅读 · 0 评论 -
LeetCode: 3 Sum and 3Sum Closest问题
3 Sum closest *Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input原创 2017-04-27 11:05:19 · 316 阅读 · 0 评论 -
LeetCode: Remove Duplicates from Sorted Array II
Remove Duplicates from Sorted Array II Follow up for “Remove Duplicates”: What if duplicates are allowed at most twice?For example, Given sorted array nums = [1,1,1,2,2,3],Your function should ret原创 2017-05-09 09:50:26 · 198 阅读 · 0 评论 -
LeetCode: Next Permutation
Next Permutation *Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not possible, it must rearrange it as th原创 2017-05-03 17:58:59 · 178 阅读 · 0 评论