k次出现与一次出现的数字】的更多相关文章

设正整数n的十进制表示为n=ak……a1a0(0<=ai<=9,0<=i<=k,ak!=0),n的个位为起始数字的数字的正负交错之和T(n)=a0+a1+……+(-1)kak,证明:11|n的充分必要条件是11|T(n): 证明: 由题意可得 n=(ak*10k)+……+(a1*101)+a0: 所以,n-T(n)=a1(10+1)+a2(102-1)+……+ak(10k-(-1)k): 对于所有的0<=i<=k,由11|(10i-(-1)i),故上式右端k个加项中的每…
原始的题目是这样的: Single Number II Given an array of integers, every element appears three times except for one. Find that single one. 这道题可以扩展成其他数字出现K次,仅有一个数字出现一次. 当时这题想了很久,以mapping计数的方式当然很容易想到,这方法直观却不够优雅,而且需要额外的数据结构来存储.后来参考了别人的做法,这里介绍 一下. 如果能从二进制的角度来看问题,那么…
sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort语法   [root@www ~]# sort [-fbMnrtuk] [file or stdin] 选项与参数: -f :忽略大小写的差异,例如 A 与 a 视为编码相同: -b :忽略最前面的空格符部分: -M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法: -n :使用『纯数字』进…
被这道题困了好久,看了剑指Offer才知道OJ上的要求有点迷惑性. 题目: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4. 一直以为要按照顺序输出,想的方法是插入排序算法复杂度是O(N*K),当然这个地方就显得自己有点蠢了.不过我想在“按序输出”的错误题意下还没有啥更好的方法. 然后看了剑指Offer原书,原来输出不必按照顺序.所以第一种方法是快速选择.这种方法算法复杂度是O(N).不过在实际的使用中可能有点隐含的时间参数…
有若干个互不相等的无序的数,怎么选出其中最大的k个数. 我自己的方案:因为学过找第k大数的O(N)算法,所以第一反应就是找第K大的数.然后把所有大于等于第k大的数取出来. 写这个知道算法的代码都花了2个多小时,反思,太慢了. 注意边界条件,不要混混沌沌的. /************我自己的解法*****************/ //选择数组a[N]中最大的第k个数 int Select(int * a, int N, int k) { if(k > N || a == NULL) { cou…
Description ycc 喜欢古典音乐是一个 ZJUTACM 集训队中大家都知道的事情.为了更方便地聆听音乐,最近 ycc 特意把他的家搬到了爱乐大街(德语Philharmoniker-Straße).在爱乐大街上,依次坐落着N座跟音乐有关的建筑,比如音乐厅.歌剧院等建筑.走在爱乐大街的路上,ycc 感到非常满意.过了一会儿,ycc 开始对这些建筑的门牌号产生了兴趣,这 N 个建筑各自有唯一的门牌号,范围从 1 到 N .不过大概住在爱乐大街上的人都比较文艺,不喜欢循规蹈矩,他发现爱乐大街…
2213. K个串 ★★★★   输入文件:bzoj_4504.in   输出文件:bzoj_4504.out   简单对比时间限制:20 s   内存限制:512 MB [题目描述] 兔子们在玩k个串的游戏.首先,它们拿出了一个长度为n的数字序列,选出其中的一 个连续子串,然后统计其子串中所有数字之和(注意这里重复出现的数字只被统计一次). 兔子们想知道,在这个数字序列所有连续的子串中,按照以上方式统计其所有数字之和,第 k大的和是多少.   [输入格式] 第一行,两个整数n和k,分别表示长度…
JAVA版K好数--蓝桥杯 历经千辛万苦,也算是研究出来了这道题了. 这道题主要运用了动态规划(Dynamic Planning)的思想,何谓动态规划?其实就是将一个大问题分成一个个小问题,然后先通过把各个小问题都解决,自然而然大问题也就解决了. 这道题它问L位K进制中,有多少K好数(任意相邻两位数字不相临) 我的理解: K进制的意思是它每一位的组成只能从(0~K-1)中选取,如果你想直接求L位长的K进制数有多少K好数,可能有些复杂,不如先求1位长,再通过1位长求2位长--以此类推,便可以通过累…
Given two integers n and k, find how many different arrays consist of numbers from 1 to n such that there are exactly k inverse pairs. We define an inverse pair as following: For ith and jth element in the array, if i < j and a[i] > a[j] then it's a…
Given an array of integers and an integer k, you need to find the number of unique k-diff pairs in the array. Here a k-diff pair is defined as an integer pair (i, j), where i and j are both numbers in the array and their absolute difference is k. Exa…
GCD Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 2742    Accepted Submission(s): 980 Problem Description Give you a sequence of N(N≤100,000) integers : a1,...,an(0<ai≤1000,000,000). There ar…
[bzoj P4504] K个串 [题目描述] 兔子们在玩k个串的游戏.首先,它们拿出了一个长度为n的数字序列,选出其中的一个连续子串,然后统计其子串中所有数字之和(注意这里重复出现的数字只被统计一次). 兔子们想知道,在这个数字序列所有连续的子串中,按照以上方式统计其所有数字之和,第k大的和是多少. [输入格式] 第一行,两个整数n和k,分别表示长度为n的数字序列和想要统计的第k大的和 接下里一行n个数a_i,表示这个数字序列 [输出格式] 一行一个整数,表示第k大的和 [样例输入] 7 5…
题目:输入一个链表,输出该链表的倒数第K个节点.为了符合大多数人的习惯,本题从1开始计数,即链表尾节点是倒数第一个节点. 解题思路: 解法一:一般情况下,单向链表无法从后一个节点获取到它前面的节点,可以通过两次遍历,第一次遍历获取链表中节点的个数,第二次遍历找到链表中第n-k+1个节点,就是链表的倒数第k个节点.但是这种方法效率低,可以使用一次遍历得到倒数第K个节点 解法二:一次遍历得到倒数第K个节点.维护两个指针,第一个指针从链表头结点向前走k-1步,第二个节点指向头结点,从第K步开始,如果走…
public static String removeKDigits(String num,int k) { //新整数的最终长度=原长度 - k int newLength=num.length()-k; //创建一个栈,用于接收所有数字 char[] stack=new char[num.length()]; //栈顶指针 int top=0; for (int i = 0; i < stack.length; i++) { char c=num.charAt(i); while(top >…
4504: K个串 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 268  Solved: 110[Submit][Status][Discuss] Description 兔子们在玩k个串的游戏.首先,它们拿出了一个长度为n的数字序列,选出其中的一 个连续子串,然后统计其子串中所有数字之和(注意这里重复出现的数字只被统计一次). 兔子们想知道,在这个数字序列所有连续的子串中,按照以上方式统计其所有数字之和,第 k大的和是多少. Input 第一…
问题:输入n个整数,找出其中最小的k个数. 方案一:将输入的n个整数进行排序,输出前k个数即为所求的k个最小数.时间复杂度为O(nlogn). 方案二:创建一个大小为k的容器,来存储最小的k个数.遍历剩下的n-k个数字,如果大于k个数中的最大值,则替换:否则继续遍历数组的剩 下的数字. 在装k个最小数字的容器(使用大根堆)中,所要做的操作有以下三个: (1)在k个整数中找到最大的值:(时间复杂度为O(1),根节点即为最大值点) (2)在这个容器中删除最大的数字: (3)将可能要插入的值插入到容器…
[BZOJ4504]K个串 Description 兔子们在玩k个串的游戏.首先,它们拿出了一个长度为n的数字序列,选出其中的一个连续子串,然后统计其子串中所有数字之和(注意这里重复出现的数字只被统计一次).兔子们想知道,在这个数字序列所有连续的子串中,按照以上方式统计其所有数字之和,第k大的和是多少. Input 第一行,两个整数n和k,分别表示长度为n的数字序列和想要统计的第k大的和 接下里一行n个数a_i,表示这个数字序列 Output 一行一个整数,表示第k大的和 Sample Inpu…
原创 给定一个n位正整数a, 去掉其中k个数字后按原左右次序将组成一个新的正整数.对给定的a, k寻找一种方案,使得剩下的数字组成的新数最小. 提示:应用贪心算法设计求解 操作对象为n位正整数,有可能超过整数的范围,存储在数组a中,数组中每一个数组元素对应整数的一位数字. 在整数的位数固定的前提下,让高位的数字尽量小,整数的值就小.这就是所要选取的贪心策略. 每次删除一个数字,选择一个使剩下的数最小的数字作为删除对象. 当k=1时,对于n位数构成的数删除哪一位,使得剩下的数据最小.删除满足如下条…
题目1 给定一个整型数组arr,  打印其中出现次数大于一半的数, 如果没有这样的数,打印提示信息 进阶 给定一个整型数组arr, 再给定一个整数K, 打印所有出现次数大于 N/K的数,如果没有这样的数字,打印提示信息 题目的思路是: 一般都思路是 哈希表记录每个数跟出现的次数,但是额外空间复杂度是O(N) 现在提供一个方法,核心思想是: 一次在数组中删掉K个不同的数,不停的删除,知道剩下的数种类不足K就停止删除, 那么,如果在数组中出现的次数大于 N/K, 则这个数最后一定会被剩下 说白了就是…
题目: Description 兔子们在玩k个串的游戏.首先,它们拿出了一个长度为n的数字序列,选出其中的一 个连续子串,然后统计其子串中所有数字之和(注意这里重复出现的数字只被统计一次). 兔子们想知道,在这个数字序列所有连续的子串中,按照以上方式统计其所有数字之和,第 k大的和是多少. Input 第一行,两个整数n和k,分别表示长度为n的数字序列和想要统计的第k大的和 接下里一行n个数a_i,表示这个数字序列 Output 一行一个整数,表示第k大的和 Sample Input 7 5 3…
题意 给你N个数字和一个K,问一共有几种拼接数字的方式使得到的数字是K的倍数,拼接:“234”和“123”拼接得到“234123” 分析: N <= 2e5,简单的暴力O(N^2)枚举肯定超时 数字A和B拼接,B的位数最多10位,如果我们知道位数为(1-10)的数字和A拼接满足是K的倍数这样的数字有几个,就可以在N*10的复杂度下完成所有的拼接 在读入数据的时候,我们可以统计出数字的位数和对K取余的结果,这样我们就可以在O(1)的时间内得到所有满足的情况 #include<bits/stdc+…
K个逆序对数组 给出两个整数 n 和 k,找出所有包含从 1 到 n 的数字,且恰好拥有 k 个逆序对的不同的数组的个数. 逆序对的定义如下:对于数组的第i个和第 j个元素,如果满i < j且 a[i] > a[j],则其为一个逆序对:否则不是. 由于答案可能很大,只需要返回 答案 mod 109 + 7 的值. 示例 1: 输入: n = 3, k = 0 输出: 1 解释: 只有数组 [1,2,3] 包含了从1到3的整数并且正好拥有 0 个逆序对. 示例 2: 输入: n = 3, k =…
[fjwc2015]k个串 kstring [题目描述] 兔子们在玩k个串的游戏.首先,它们拿出了一个长度为n的数字序列,选出其中的一个连续子串,然后统计其子串中所有数字之和(注意这里重复出现的数字只被统计一次). 兔子们想知道,在这个数字序列所有连续的子串中,按照以上方式统计其所有数字之和,第k大的和是多少. [输入格式] 第一行,两个整数n和k,分别表示长度为n的数字序列和想要统计的第k大的和 接下里一行n个数a_i,表示这个数字序列 [输出格式] 一行一个整数,表示第k大的和 [样例输入]…
Majority Number III 给定一个数组(长度为L),找到所有出现频次大于1/k的数字. 我们主要使用摩尔投票法(Voting Algorithm)结合Map的数据结构解决此问题.其时间复杂度O(n),空间复杂度O(k). 主元素数量大于数组长度的1/k,因此有k-1一个候选人(Candidate),通过loop整个数组两次得到答案,遍历第一次找有可能的候选人,第二次统计这些候选人出现的频次. 当数组长度L小于k时,直接对所有出现的数字进行统计得到结果. 当数组长度L大于等于k时,建…
O(N)划分法,注意这个方法会改变原数据(函数参数是引用的情况下)!当然也可以再定义一个新容器对其划分 要求前k小的数,只要执行快排划分,每次划分都会把数据分成大小两拨.直到某一次划分的中心点正好在k处,则左侧0~k-1的数字正好就是所求. class Solution { public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { int n=input.size(); if(n==0 or k…
Problem A: Assembly Required Princess Lucy broke her old reading lamp, and needs a new one. The castle orders a shipment of parts from the Slick Lamp Parts Company, which produces interchangable lamp pieces.There are m types of lamp pieces, and the s…
解法一:用next_permutation()函数,要求第k个排列,就从"123...n"开始调用 k - 1 次 next_permutation()函数即可. class Solution { public: string getPermutation(int n, int k) { string res; for(int i = 1; i <= n; ++i) { res += to_string(i); } for(int i = 0; i < k - 1; ++i…
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 回溯法 日期 题目地址:https://leetcode.com/problems/partition-to-k-equal-sum-subsets/description/ 题目描述 Given an array of integers nums and a positive integer k, find whether it's possibl…
358.K 距离间隔重排字符串 知识点:哈希表:贪心:堆:队列 题目描述 给你一个非空的字符串 s 和一个整数 k,你要将这个字符串中的字母进行重新排列,使得重排后的字符串中相同字母的位置间隔距离至少为 k. 所有输入的字符串都由小写字母组成,如果找不到距离至少为 k 的重排结果,请返回一个空字符串…
模式 ESC\Ctrl+c:退出编辑模式 ZZ\wq:命令模式下保存退出 编辑 i:进入编辑模式 I:转到行首非空字符开始编辑 s:删除当前字符进入编辑模式 a:从当前字符后开始编辑 A:从当前行末非空字符开始编辑 移动 H J K L:左下上右 0: 数字零,到行头 ^:到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等) $:到本行行尾 g_:到本行最后一个不是blank字符的位置. w\W:行跳转到下一个词开头\快速跳转 b\B:行词回跳\快速回跳 e:…