练习
春风来不来
CXY 进化中
展开
-
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。
问题描述给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。输出格式如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。样例输入6原创 2017-01-20 18:49:40 · 14203 阅读 · 1 评论 -
链表翻转。给出一个链表和一个数K,按照分组逆置。
链表翻转。给出一个链表和一个数K,比如链表1->2->3->4->5->6->NULL,K=2,翻转后 2->1->4->3->6->5->NULL,若K=3,翻转后3->2->1->6->5->4->NULL,若K=4,翻转后4->3->2->1->5->6->NULL,用程序实现ListNode* RotateList(ListNode* list, size_t k)。递归实现/** *原创 2017-07-24 19:46:16 · 1181 阅读 · 0 评论 -
查找一个字符串中第一个只出现两次的字符
查找一个字符串中第一个只出现两次的字符。 比如 “abcdefabcdefabc” 中第一个只出现两次为‘d’, 要求时间复杂度O(N),空间复杂度O(1)这个题和在一个字符串中查找第一个只出现一次,只出现两次是一个套路。第一眼看到要求空间复杂度为O(1)有点蒙。突然想了一下。。字符最多256 个(前提是ASCII字符)。。不管N 有多大,也有256 限制它。所以空间复杂度依然是 O(原创 2017-07-19 22:12:21 · 1704 阅读 · 0 评论 -
判断两个链表是否相交,若相交,求交点,考虑带环情况实现代码
梳理一下思路思路相当于求俩个链表的第一个公共结点,要么找到,要么为空,那么考虑到有链表可能有带环的情况,情况共分为下面三种: (1)、两个链表都带环 分别获取两个链表环的入口点 判断入口点是否相同 如果入口点相同,临时修改链表为 Y 形状,处理完毕后恢复 如果入口点不相同,将一个环遍历一周看是否能遇到另外一个环的原创 2017-07-17 01:24:09 · 868 阅读 · 0 评论 -
排序算法之直接插入排序、二分插入排序和希尔排序
下列所有排序都默认是升序,从小到大。插入排序有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部原创 2017-06-25 19:14:14 · 1108 阅读 · 0 评论 -
检查某个二进制字符串是否等于十六进程表示的字符串
可以将两个字符串序列转换为10进制进行比较。一共实现三个函数1. 判断是否相等2. 将2或16进制转为1进制3. 将一个字符c转为数字参考代码:#include #include #include using namespace std;// 比较bool CompareBin_Hex(const string& binary, st原创 2017-06-25 13:46:17 · 657 阅读 · 0 评论 -
二分查找的循环版本和递归版本
二分查找是在有序的表中查找一个元素是否存在,时间复杂度为对数级别,在很多题目中都有它的变体,来复习一下它的递归版本实现和非递归版本。代码以及测试函数:#include using namespace std;// 非递归版本int BinaryNorRec(int array[], int size, int key){ int mid = -1;原创 2017-06-25 00:31:03 · 1292 阅读 · 0 评论 -
求两个整型二进制中有多少个不同位
使用到的知识:异或操作:相同比特位为0,不同比特位为1。利用按位于运算,求一个数字二进制表示中1的个数。思路: 利用异或操作巧妙的将问题转换为求一个数二进制表示中1的个数。#include <iostream>using namespace std;/* 求两个整型二进制中有多少个不同位 */int main(){ int a; int b; cin >> a;原创 2017-06-24 22:55:09 · 496 阅读 · 0 评论 -
求出区间[a,b]中所有整数的质因数分解。
问题描述 求出区间[a,b]中所有整数的质因数分解。输入格式 输入两个整数a,b。输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1样例输入3 10样例输出3=34=2*25=56=2*37=78=2*2*29=3*310=2*5提示 先筛出所有素数,然后再原创 2017-01-23 19:02:18 · 9085 阅读 · 1 评论 -
找出这个图形的规律,并输出一个n行m列的图形
问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字原创 2017-01-20 18:55:08 · 10538 阅读 · 1 评论 -
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。样例输出00000原创 2017-01-20 18:51:48 · 13607 阅读 · 0 评论 -
刷题记录---每日更新-8月7日
1.【基础题】--实现一个位图。 2.【附加题】--以下三个问题都是位图相关类似题目,请给出解决方案: 1)给定100亿个整数,设计算法找到只出现一次的整数 2)给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集 3)1个文件有100亿个int,1G内存,设计算法找到出现次数不超过2次的所有整数原创 2017-07-13 14:29:04 · 958 阅读 · 0 评论