一个长度为N的数组,其中元素取值为1-N,求这个数组中没有出现的.1-N之间的数字. 要求无额外空间,O(n)时间复杂度. nums[i]=-1表示i数字已经出现过了 class Solution(object): def findDisappearedNumbers(self, nums): """ :type nums: List[int] :rtype: List[int] """ i=0 while i<len(nums): if…
#!/bin/bash #This is a test of the addition of the program! function AddFun { read -p "Enter a number:" num1 read -p "Enter another number:" num2 echo $[ $num1 + $num2 ] } result=`AddFun` echo "The Result is :$result" 上面这段代码主…
package com.sinaWeibo.interview; import java.util.Comparator; import java.util.Iterator; import java.util.TreeSet; /** * @Author: weblee * @Email: likaiweb@163.com * @Blog: http://www.cnblogs.com/lkzf/ * @Time: 2014年10月25日下午5:22:58 * ************* fu…
//输入一组整数.求出这组数字子序列和中最大值 #include <stdio.h> int MAxSum(int arr[],int len) { int maxsum = 0; int i; int j; for (i = 0; i < len; i++) { int thissum = 0; for (j = i; j < len; j++) { thissum += arr[j]; if (thissum>maxsum) maxsum = thissum; } } r…
/* * 用java求一个整数各位数字之和 */ public class Test02 { public static void main(String[] args) { System.out.println(Test02.sumDig(23865)); System.out.println(Test02.sumDig2(23965)); } public static int sumDig(int n) { int sum = 0; if (n >= 10) { sum += n % 10…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4417 题目意思给出一个序列,叫我们求一个区间里面小于等于k的数字个数. 这里面我用分块和主席树两种方法都做了一遍,恩,主席树虽然费空间,但是还是比分块块很多的. 因为每个人的风格不一样,所以我的代码可能比较长,比较繁琐. 首先是分块,分块的思想就是把整个区间划分成多个块,用数组来记录每个块的信息,当我们对一个区间进行查询或者修改的时候,一般来说就会有一些块完全的在这个区间里面,对于这种块被区间完全包…
#include<iostream> using namespace std; // 题目:数组中只有不多于两个数字出现次数是奇数次,其他都是偶数次,求出出现奇数次的数字(不含0的数组) //思想: /* (1)如果只有一个数字是奇数次,直接对数组进行按位异或运算,得到的结果就是该数 (2)如果有俩个,可以先对数组异或,得到的结果(就是两个奇数次的数字异或的结果),必定至少包含一个1,可以根据这个1在的位置,把数组分为两个部分 则两个奇数次的数字必定分别在两个部分,而相同的数次必定在同一组,则…
Leftmost Digit Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 12229    Accepted Submission(s): 4674题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1060 Problem Description Given a positive integ…
题目链接:点击打开链接 #include <cstdio> #include <cstring> #include <algorithm> #include <vector> #include <iostream> #include <cmath> using namespace std; typedef long long ll; template <class T> inline bool rd(T &ret)…
相关内容:charAt()函数 package com.nxl123.www;public class NumString { public static void main(String[] args) { // TODO Auto-generated method stub// int num[]=new int[4];// for(int i;i<num.length;i++){// num[i]=0;// } int num[]={0,0,0,0}; String str="I R…
© 版权声明:本文为博主原创文章,转载请注明出处 代码: #include <stdio.h> #include <stdlib.h> #define GET_ARRAY_LEN(array, len){len = sizeof(array) / sizeof(array[0]);}// 定义一个带参数的宏,将数组长度存储在变量len中 int main() { , , -, , -, , -, -, , -};// 数组 int i, j, len, max; GET_ARRAY…
题目描述: 统计一个数字在排序数组中出现的次数. 输入: 每个测试案例包括两行: 第一行有1个整数n,表示数组的大小.1<=n <= 10^6. 第二行有n个整数,表示数组元素,每个元素均为int. 第三行有1个整数m,表示接下来有m次查询.1<=m<=10^3. 下面有m行,每行有一个整数k,表示要查询的数. 输出: 对应每个测试案例,有m行输出,每行1整数,表示数组中该数字出现的次数.   样例输入: 8 1 2 3 3 3 3 4 5 1 3 样例输出: 4 使用库函数即可解…
题目描述: 给定a和n,计算a+aa+aaa+a...a(n个a)的和. 输入: 测试数据有多组,输入a,n(1<=a<=9,1<=n<=100). 输出: 对于每组输入,请输出结果. 样例输入: 1 10 样例输出: 1234567900 这道题的难点在于处理很长很长的数的求和 #include <cstdio> #include <cstdlib> #include <cstring> #include <string> #inc…
题目1089:数字反转 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3531 解决:1935 题目描述: 12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转. 输入: 第一行一个正整数表示测试数据的个数n.    只有n行,每行两个正整数a和b(0<a,b<=10000). 输出: 如果满足题目的要求输出a+b的值,否则输出NO. 样例输入: 2 12 34 99 1 样例输出: 46 NO…
题目大意:给定整数n,请问n以内有多少个素数 思路:想必要判断一个数是否是素数,大家都会了,并且可以在O(根号n)的复杂度求出答案,那么求n以内的素数呢,那样求就显得有点复杂了,下面看一下这里介绍的…
ll prime[100]; ll cnt; void getprime(){ cnt = 0; ll num = m; for(ll i = 2; i*i <= m; i++){ // sqrt(m) 的复杂度求出m的素因子 if (num%i == 0) { prime[cnt++] = i; while(num%i == 0){ num /= i; } } if (num == 1) break; } if (num > 1) prime[cnt++] = num; } void sol…
[九度OJ]题目1015:还是A+B 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1015 题目描述: 读入两个小于10000的正整数A和B,计算A+B.需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1. 输入: 测试输入包含若干测试用例,每个测试用例占一行,格式为"A B K",相邻两数字有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出. 输出: 对每个测试用例输出1行,即A+B的…
今天面试,遇到面试官询求最大公约数.小学就学过的奥数题,居然忘了!只好回答分解质因数再求解! 回来果断复习下,常用方法辗转相除法和更相减损法,小学奥数都学过,很简单,就不细说了,忘了的话可以百度:http://baike.baidu.com/link?url=Ba106RbHkMjZm3rolmCHEEFt3eDkVbngcReykcqt4Wv0dbTI_0ZmTDE5b0X-xWFx 以下是代码实现,这两种方法,还有常规的分解因式,顺便比较了一下效率,其中分解因式用了两种方法来求取小于该数字的…
Given a non-empty array of non-negative integers nums, the degree of this array is defined as the maximum frequency of any one of its elements. Your task is to find the smallest possible length of a (contiguous) subarray of nums, that has the same de…
题目链接: https://vjudge.net/problem/POJ-2299 题目大意: 本题要求对于给定的无序数组,求出经过最少多少次相邻元素的交换之后,可以使数组从小到大有序. 两个数(a, b)的排列,若满足a > b,则称之为一个逆序对. n < 500,000   0 ≤ a[i] ≤ 999,999,999 解题思路: 由于数据范围大,可以考虑离散化. 为什么要离散化? 离散化的目的就在于将这么多的数字转化成1-500000以内,然后开一个tree树状数组,下标就对应着数值…
题目: 输入一组整数,求出这组数字子序列和中最大值.也就是只要求出最大子序列的和,不必求出最大的那个序列.例如: 序列:-2 11 -4 13 -5 -2,则最大子序列和为20. 序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16. 1. /* 算法一:穷举法(3个for) 时间复杂度:O(n^3) */ #include <stdio.h> #include <malloc.h> ; int find_max(int len, int arr[…
题意: 给定一个整数n,求1~n这n个整数中十进制表示中1出现的次数. 思路: 方法1:最直观的是,对于1~n中的每个整数,分别判断n中的1的个数,具体见<剑指offer>.这种方法的时间复杂度为O(N*logN),当N比较大的时候,一般会超时. 方法2:这种类别的题目,如果直观求解不行的话,那么通常是进行找规律,转化成一个数学问题.这道题目在<编程之美>上有着比较详细的描述,下面就结合一个实例进行具体的分析: 在分析之前,首先需要知道一个规律: 从 1 至 10,在它们的个位数中…
输入一组整数,求出这组数字子序列和中最大值.也就是仅仅要求出最大子序列的和,不必求出最大的那个序列. 比如: 序列:-2 11 -4 13 -5 -2,则最大子序列和为20. 序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16 #include<stdio.h> int main() {     void res(int num[],int n);     int n;     while(scanf("%d",&n)!=EOF)…
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { /// <summary> /// 公用的特殊函数 /// </summary> public class SpecialFunctions { #region 构造函数 /// <summary> /// 构造函数 /// </s…
Ultra-QuickSort Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 46995   Accepted: 17168 Description In this problem, you have to analyze a particular sorting algorithm. The algorithm processes a sequence of n distinct integers by swappin…
Given a non-empty array of non-negative integers nums, the degree of this array is defined as the maximum frequency of any one of its elements. Your task is to find the smallest possible length of a (contiguous) subarray of nums, that has the same de…
自然语言处理 -->计算机数据 ,计算机可以处理vector,matrix 向量矩阵. NLTK 自然语言处理库,自带语料,词性分析,分类,分词等功能. 简单版的wrapper,比如textblob. import nltk nltk.download() #可以下载语料库等. #自带的语料库 from nltk.corpus import brown brown.categories() len(brown.sents()) # 多少句话 len(brown.words()) # 多少个单词…
题目描述:一个{1, ..., n}的子集S被称为JZP集,当且仅当对于任意S中的两个数x,y,若(x+y)/2为整数,那么(x+y)/2也属于S.例如,n=3,S={1,3}不是JZP集,因为(1+3)/2=2不属于S.但是{1,2,3}的其他子集都属于S,所以n=3时有7个JZP集给定n,求JZP集的个数. 输入:第一行为T,表示输入数据组数.每组数据包含一行整数n.限制条件:1<=T<=10^5,1<=n<=10^7 输出:对第i组数据,输出Case #i:然后输出JZP集的…
瘋耔C++笔记 欢迎关注瘋耔新浪微博:http://weibo.com/cpjphone 参考:C++程序设计(谭浩强) 参考:http://c.biancheng.net/cpp/biancheng/cpp/rumen_8/ 博客原文:http://www.cnblogs.com/Ph-one/p/3974707.html 一.C++初步认识 1.C++输入.输出.头文件解释 #include<iostream> using namespace std ; int mian() { cout…
A.Islands 这种联通块的问题一看就知道是并查集的思想. 做法:从高水位到低水位依序进行操作,这样每次都有新的块浮出水面,可以在前面的基础上进行合并集合的操作.给每个位置分配一个数字,方便合并集合.同时将这些数字也排一个序,降低枚举的复杂度.合并集合时向四周查询浮出水面但是没有合并到同一集合的点进行合并. 代码: #include <iostream> #include <cstdio> #include <cstring> #include <cmath&…