C++
Uper2019
这个作者很懒,什么都没留下…
展开
-
leetcode 笔记day1
day1 – LeetCode1:两数之和(难度:简单)题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1]...原创 2020-04-06 17:11:09 · 826 阅读 · 0 评论 -
贪心算法-加油站
一辆汽车加满油后可行驶n公里。旅途中有若干个加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。对于给定的n(n <= 5000)和k(k <= 1000)个加油站位置,编程计算最少加油次数。并证明算法能产生一个最优解。要求:输入:第一行有2个正整数n和k,表示汽车加满油后可行驶n公里,且旅途中有k个加油站。接下来的1 行中,有k+1 个整数,表示第k个加油站...转载 2020-03-27 09:40:42 · 651 阅读 · 0 评论 -
gray码
今天看面经的时候遇到了gray码问题,不懂,就自行百度了一下,看到一个博客对格雷码进行了讲解,十分适合我这种第一次见gray码的,简单易懂,为了方便之后的复盘,我记录了下来。首先,是格雷码的定义,如下根据上述的思想,代码如下:#include<vector>#include<string>using namespace std;vector<strin...转载 2020-03-25 17:40:48 · 2006 阅读 · 0 评论 -
矩阵走法
————————————————版权声明:本文为CSDN博主「向前走别回头」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/weixin_39778570/article/details/80700123题目:在NxM的方格中,以左上角格子为起点,右下角格子为终点,每次只能向下走或者向右走,请问一共...转载 2020-03-25 10:49:06 · 764 阅读 · 0 评论 -
字符串求和(大数加法)
题目描述输入两个字符串a和b,字符串内容为二进制数字,求两个字符串相加的结果,加法计算方法以二进制方式计算,并返回对应的字符串结果。要求程序尽可能的高效。示例如下:/**@param a = “1101”@param b = “1100”@return “11001”*/public String add(String a, String b){ }输入描述:...原创 2020-03-21 17:04:29 · 3315 阅读 · 0 评论 -
数值的整数次方
题目:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0思路:考虑以下几种情况:base=0时,0的任意次方都为0base=1时,1的任意次方都为1exponent=0时,任何数的0次方都为1exponent<0时, baseexponent =1 / baseexponen...原创 2020-03-21 16:31:05 · 208 阅读 · 0 评论 -
刷题day1---digital root
题目:A digital root is the recursive sum of all the digits in a number. Given n, take the sum of the digits of n. If that value has more than one digit, continue reducing in this way until a single-dig...原创 2020-03-17 10:41:01 · 362 阅读 · 0 评论 -
刷题day1---valid braces
题目:All input strings will be nonempty, and will only consist of parentheses, brackets and curly braces: ()[]{}.What is considered Valid?A string of braces is considered valid if all braces are matc...原创 2020-03-17 10:15:30 · 291 阅读 · 0 评论 -
#CodeLog 03 第一个只出现一次的字符
题目:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).分析:其实主要还是hash,利用每个字母的ASCII码作hash来作为数组的index。首先,需要定义一个长度为58的数组来存储每个字母出现的次数。58的理由如下:因为区分大小写,大写A-Z对应的ASCII码为65-90...原创 2019-07-05 21:44:18 · 151 阅读 · 0 评论 -
#Code Log 02丑数
题目把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。分析通俗易懂的解释:首先从丑数的定义我们知道,一个丑数的因子只有2,3,5,那么丑数p = 2 ^ x * 3 ^ y * 5 ^ z,换句话说一个丑数一定由另一个丑数乘以2或者乘以3或者乘以5得到,那么我...原创 2019-07-05 19:40:17 · 120 阅读 · 0 评论 -
#Code Log 01把数组排成最小的数
题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接的所有数字中最小的一个。例如:输入数组{3,32,321},则打印出这三个数字中能排成的最小数字为321323.解题思路:对vector容器中的数据进行排序。按照 将a和b转为string后,若a+b< b+a,a排在前面 的规则排序。如 2,21 因为212<221,所以排序为21,2tips:函数to...原创 2019-07-05 19:17:26 · 108 阅读 · 0 评论 -
stack的应用----一个简单的整数计算器
stack的应用----一个简单的整数计算器本例来自课本《c++语言程序设计(第4版)》第9章第9-9的案例本例实现一个简单的整数计算器,能够进行加、减、乘、除和乘方运算。使用时算式采用后缀输入法,每个操作数、操作符之间都以空白符分隔。例如,若要计算“3+5”则输入“3 5 +”。乘方运算符用“^”表示。每次运算在前次结果基础上进行,若要将前次运算结果清除,可输入“c”。当输入“q”时程序结束...原创 2019-07-03 13:27:02 · 686 阅读 · 0 评论 -
01 配置OTExtension运行环境
第一次尝试使用茫然传输,在github上找到了相关代码,代码详见OTExtension,本文环境配置借鉴博客&雨后&的01 ABY框架的Ubuntu依赖包安装 感谢精彩的记录过程,让我少走不少弯路呀2333333333.配置OTExtension的运行环境1、查看Ubuntu系统的版本号2、更新系统的apt包列表3、安装Git3、安装gcc4、安装g++5、安装cma...原创 2019-05-22 19:05:19 · 975 阅读 · 7 评论 -
Boost库配置----Linux篇
本文转自云端之上博客Boost库分为两个部分来使用,一是直接使用对应的头文件,二是需要编译安装相应的库才可以使用。下面是boost在Linux上安装和使用过程(整个boost库全部安装):(1)在www.boost.org下载相应的代码包,我下载的是boost_1_64_0.tar.bz2(2)进入自己的工作目录执行解压等操作命令:bzip2 -d boost_1_64_0.tar.bz...转载 2019-05-22 14:05:12 · 231 阅读 · 0 评论 -
C++ 5大内存分区
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。分区描述栈就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等堆就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操...原创 2019-04-30 17:15:03 · 328 阅读 · 0 评论 -
c++多行输入(逗号分隔),多组数组合并
c++多行输入(逗号分隔),多组数组合并题目:现在有多组整数数组,需要将他们合并成一个新数组。合并规则,从每个数组里按顺序取出固定长度的内容合并到新的数组中,取完的内容会删除掉,如果该行不足固定长度或者已经为空,则直接取出剩余部分的内容放到新的数组中,继续下一行。如样例1,获得长度3,先遍历第一行,获得2,5,6;再遍历第二行,获得1,7,4;再循环回到第一行,获得7,9,5;再遍历第二行获得...原创 2019-04-10 11:23:35 · 5183 阅读 · 1 评论