c/c++
数据小冰
好记性不如烂笔头,学习、实践、总结,成为更好的自己。
展开
-
【刷题小记】用数组模拟约瑟夫环
用数组实现约瑟夫环原创 2014-11-09 21:05:53 · 1056 阅读 · 0 评论 -
部分A+B
正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。现给定A、DA、B、DB,请编写程序计算PA + PB。 #include#includeusing namespace std;int sumAandB(string strA, int DA, strin原创 2016-08-07 11:23:02 · 1134 阅读 · 0 评论 -
个位数统计 (15)
给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0ik-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。 #include#includeusing namespace std;int main(){ string str; int arr[10] = { 0 }; c原创 2016-08-07 11:30:27 · 763 阅读 · 0 评论 -
D进制的A+B
输入两个非负10进制整数A和B#include#includeusing namespace std;void ten2x(int v, int x){ if (v < x) cout << v; else{ ten2x(v / x, x); cout << v%x; } return;}int main(){ int v, k; cin >> v >> k;原创 2016-08-07 12:18:37 · 604 阅读 · 1 评论 -
爬台阶
NowCoder小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。但年幼的他一次只能走上一阶或者一下子蹦上两阶。现在一共有N阶台阶,请你计算一下NowCoder从第0阶到第N阶共有几种走法。#include int main(){ long long arr[91]; int i; arr[1]=1; arr[2]=2; for(i=3;原创 2016-08-08 11:22:49 · 624 阅读 · 0 评论 -
3n+1猜想
对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明原创 2016-08-08 11:24:51 · 963 阅读 · 0 评论 -
进制转换
nowcoder费了很大劲,终于和地外文明联系上。我们地球人通常有10根手指,因此我们习惯用10进制的数,而外星人的手指有16跟、8根等不等的数目,因此他们使用与我们不同的进制。为了方便沟通,需要你开发一款工具,把地球人的10进制转换成外星人的R进制形式。#include #include#include#include#includeusing namespace std;原创 2016-08-08 11:47:09 · 354 阅读 · 0 评论 -
进制转换中1的个数--E
NowCoder总是力争上游,凡事都要拿第一,所以他对“1”这个数情有独钟。爱屋及乌,他也很喜欢包含1的数,例如10、11、12……。不仅如此,他同样喜欢任意进制中包含1的数。当然,其中包含1的个数越多他越喜欢。你能帮他统计一下某个数在特定的进制下1的个数吗?#include int main(){ int N,r; int count; while((scan原创 2016-08-08 12:03:23 · 481 阅读 · 0 评论 -
根据ID统计分数求最高分-E
现请你根据比赛结果统计出技术最强的那个学校。输入描述:输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。输出描述:在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。输入例子:63原创 2016-08-08 13:18:05 · 875 阅读 · 0 评论 -
c++内存管理1
在c++的开发中,内存管理是个"大坑",一不小心就造成了内存泄漏,这个"坑"也是c++的优势,为什么这么说呢?程序员可以自己调度管理内存,非常灵活,高效的使用内存。Java中的内存管理是由java虚拟机控制管理的,自动进行内存的释放回收。而c++中,在堆上分配的内存是由我们自己回收的,系统不会自动回收,所以在编程的过程中特别小心内存泄漏。c++内存分配与释放综合起来如下图所示:原创 2016-08-01 23:12:15 · 387 阅读 · 0 评论 -
适配器
适配器可以理解成接口转换器,比如我们常用的电源适配器,将220V的电压转成低电压。STL中的适配器可以理解成改造器,好比在其对别人进行了改造,换了一层皮肤,进行了包装。像STL中的stack、queue、priority_queue都是容器适配器。查看他们的源码可以知道,他们功能都是借助其他容器实现的,自己只是做了一层转换。stack和queue底层默认的都是调用deque实现的。priority原创 2016-08-01 09:20:24 · 418 阅读 · 0 评论 -
算法面试题--正负交替
算法面试题之数组元素正负交替的思路分析与实现原创 2014-10-17 11:22:04 · 4422 阅读 · 1 评论 -
Skew数
Skew原创 2014-11-05 20:20:50 · 941 阅读 · 0 评论 -
多种方法求最大连续和
最大连续和的定义:给出一个长度为n的序列A1,A2,...,An,求最大连续和,即找要求找到1 方法一,根据定义容易想到: int maxSubSeqSum(int A[],int N){ int maxSum=A[0]; int i,j,k; for(i=2;i<N;i++) for(j=i;j<N;j++)原创 2014-12-03 20:05:56 · 944 阅读 · 0 评论 -
c++宽字符处理
c++中宽字符的处理,一个宽字符占用两个字节,实例代码如下#include#include#includeusing namespace std;void main(){ setlocale(LC_ALL, "chs");//设置本地化 wchar_t *p1 = L"www.szu.edu.cn";//赋值使用 wchar_t和 L wcout << p1 << endl;原创 2016-03-07 22:32:01 · 2519 阅读 · 0 评论 -
inline函数
inline函数c++特有,在内部展开,与define相似,但会数据类型进行类型检查inline函数只是对编译器进行建议,一般情况下,对内联函数有如下的限制:(1)不能有递归(2)不能包含静态数据(3)不能包含循环(4)不能包含swich和goto语句(5)不能包含数组若一个内联函数不满足以上限制,编译器会把它当做普通函数#include #include原创 2016-03-07 23:13:26 · 624 阅读 · 0 评论 -
深度探索vector
vector是c++ stl中一种线性容器,本文将从vector底层实现的角度谈谈其实现原理。vector分配元素在内存中是连续存储的,本质是一个可变数组,当申请的空间在需要的时候默认以倍增的形式扩从。原创 2016-07-25 23:01:25 · 415 阅读 · 0 评论 -
c++内存对齐
c++中每个class包含两部分:数据和函数。对每个对象来说函数部分大家公用一份,而数据部分每个对象是独立的。所以在求一个class所占的空间大小的时候,求得数据部分所占的内存大小即为class的大小。下面小将结合实验的方式测试验证,考虑到vs下编译器和gcc的不同,小编这里分别独立验证,vs编译器验证采用vs2013IDE,gcc下的验证用codeblocks,测试都是在32系统下。clas原创 2016-07-28 12:18:30 · 385 阅读 · 0 评论 -
深度探索红黑树
RB-tree是除AVl-tree之外被广泛应用的平衡二叉搜素树,AVL-tree是最早的平衡二叉树之一,在实际中应用的比较少,windows对进程地址空间的管理用到了AVL树,红黑树广泛应用在STL中,map和set都是用红黑树实现的。 AVL-tree是一种高度平衡的二叉搜素树,造成的结果是维护这种高度平衡所付出的代价比从中获得效率收益还高,所以在实际中应用不多,更多的是用追求局部原创 2016-07-30 21:32:19 · 367 阅读 · 0 评论 -
字符串中字母替换-E
[编程题]旧键盘打字(20)旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入描述:输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过10^5个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、原创 2016-08-08 14:07:10 · 2003 阅读 · 0 评论