求最小的两个数相加为sum //求最小的两个数相加为sum public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) { List<Integer> list = new ArrayList<Integer>(); if(array == null || array.length==0){ return (ArrayList<Integer>) list; } for(int i=0…
题目描述 输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数. 输入描述: 输入一个整数(int类型) 输出描述: 这个数转换成2进制后,输出1的个数 示例1 输入 5 输出 2 Python code: num = int(input().strip()) '))…
链接:https://www.nowcoder.com/acm/contest/73/B来源:牛客网 B.白兔的式子   时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld 题目描述 已知f[1][1]=1,f[i][j]=a*f[i-1][j]+b*f[i-1][j-1](i>=2,1<=j<=i). 对于其他情况f[i][j]=0 有T组询问,每次给出a,b,n,m,求f[n][m] mod…
水一水博客. 链接:https://www.nowcoder.com/acm/contest/73/A来源:牛客网 A.白兔的分身术     时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 白兔学会了分身术. 一开始有一只白兔,接下来会进行k轮操作,每一轮中每一只白兔都会变成p只白兔. 要求k轮后白兔的总数恰好为n. 要求找到两个正整数p,k,最大化p+k 输入描述: 输入一个正整数n(…
最接近的数 牛客网 程序员面试金典 C++ Python 题目描述 有一个正整数,请找出其二进制表示中1的个数相同.且大小最接近的那两个数.(一个略大,一个略小) 给定正整数int x,请返回一个vector,代表所求的两个数(小的在前).保证答案存在. 测试样例: 2 返回:[1,4] C++ class CloseNumber { public: //run:3ms memory:504k vector<int> getCloseNumber(int x) { vector<int&…
无缓存交换 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个函数,函数内不使用任何临时变量,直接交换两个数的值. 给定一个int数组AB,其第零个元素和第一个元素为待交换的值,请返回交换后的数组. 测试样例: [1,2] 返回:[2,1] C++ class Exchange { public: //run:4ms memory:460k vector<int> exchangeAB(vector<int> AB) { AB[0] = AB[0]^AB[1]; A…
整数转化 牛客网 程序员面试金典 C++ Python 题目描述 编写一个函数,确定需要改变几个位,才能将整数A转变成整数B. 给定两个整数int A,int B.请返回需要改变的数位个数. 测试样例: 10,5 返回:4 C++ class Transform { public: //run:3ms memory:480k int calcCost(int A, int B) { int C = A^B; return getOneCount(C); } int getOneCount(int…
有向路径检查 牛客网 程序员面试金典 C++ Python 题目描述 对于一个有向图,请实现一个算法,找出两点之间是否存在一条路径. 给定图中的两个结点的指针DirectedGraphNode* a, DirectedGraphNode* b(请不要在意数据类型,图是有向图),请返回一个bool,代表两点之间是否存在一条路径(a到b或b到a). C++ class Path { public: bool checkPath(UndirectedGraphNode* a, UndirectedGr…
平衡二叉树检查 牛客网 程序员面试金典 C++ Python 题目描述 实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1. 给定指向树根结点的指针TreeNode* root,请返回一个bool,代表这棵树是否平衡. C++ /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NUL…
[牛客网]Whalyzh's Problem 每个\(b_{i,j}\)建一个点,认为选了\(b_{i,j}\)一定会选\(a_{i}\)和\(a_{j}\) 选了\(a_{i}\)的话会带了一个\(-b_{i,i}\)的价值 然后再用01分数规划二分答案,选了\(a_{i}\)还会带来\(-x\)的代价,x是二分的答案 如果正数值减最大流大于0认为这个答案可以达到 #include <bits/stdc++.h> #define fi first #define se second #def…
高度最小的BST 牛客网 程序员面试金典 C++ Python 题目描述 对于一个元素各不相同且按升序排列的有序序列,请编写一个算法,创建一棵高度最小的二叉查找树. 给定一个有序序列int[] vals,请返回创建的二叉查找树的高度. C++ class MinimalBST { public: //run:3ms memory:476k int buildMinimalBST(vector<int> vals) { int height=0; int size = vals.size();…
链表中倒数第K个结点 牛客网 程序员面试金典 C++ Python 题目描述 输入一个链表,输出该链表中倒数第k个结点. C++ /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: //run:3ms memory:476k ListNode* FindKthToTail(ListNode* pList…
访问单个结点的删除 牛客网 程序员面试金典 C++ Python 题目描述 实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点. 给定待删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true C++ /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) {} };*/ class Remove { public: //run:2ms m…
最大连续数列和 牛客网 程序员面试金典 C++ Python 题目描述 对于一个有正有负的整数数组,请找出总和最大的连续数列. 给定一个int数组A和数组大小n,请返回最大的连续数列的和.保证n的大小小于等于3000. 测试样例: [1,2,3,-6,1] 返回:6 C++ class MaxSum { public: //run:6ms memory:488k int getMaxSum(vector<int> A, int n) { int MaxSum = A[0]; int ThisS…
不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set).集合框架中的Map集合 接口java.util.Map,包括3个实现类:HashMap.Hashtable.TreeMap.当然还有LinkedHashMap.ConcurrentHashMap .WeakHashMap. Map是用来存储键值对的数据结构,键值对在数组中通过数组下标来对其内容索引的…
D.求距离 链接:https://www.nowcoder.com/acm/contest/59/D来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld 题目描述 给你一个1 -> n的排列,现在有一次机会可以交换两个数的位置,求交换后最小值和最大值之间的最大距离是多少? 输入描述: 第一行一个数n之后一行n个数表示这个排列 输出描述: 输出一行一个数表示答案 示例1 输入 5 4 5 1 3 2…
看不懂题意,而且太菜,写了两道就溜了... A.假的线段树 链接:https://www.nowcoder.com/acm/contest/59/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 给你一个长为n的序列a,有m次操作 1.把区间[l,r]内所有x变成y 2.查询区间[l,r]内第k小值 输入描述: 第一行两个数n,m第二行n个数表示序列a后面m行1 l r x y…
最小的K个数 牛客网 剑指Offer 题目描述 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. class Solution: #run:33ms memory:5732k def GetLeastNumbers_Solution(self, tinput, k): if tinput == None or len(tinput) < k or len(tinput) <= 0 or k <=0: return…
两个栈实现队列 牛客网 剑指Offer 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. class Solution: def __init__(self): self.stk1 = [] self.stk2 = [] def push(self, node): self.stk1.append(node) def pop(self): if self.stk2 == []: while self.stk1: item = self.stk1.po…
第K个数 牛客网 程序员面试金典 C++ Python 题目描述 有一些数的素因子只有3.5.7,请设计一个算法,找出其中的第k个数. 给定一个数int k,请返回第k个数.保证k小于等于100. 测试样例: 3 返回:7 C++ class KthNumber { public: //run:3ms memory:504k int findKth(int k){ vector<int> res(k+1,0); res[0] = 1; int t3 = 0; int t5 = 0; int t…
确定两串乱序同构 牛客网 程序员面试金典 C++ Python 题目描述 给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串.这里规定大小写为不同字符,且考虑字符串中的空格. 给定一个string stringA和一个string stringB,请返回一个bool,代表两串是否重新排列后可相同.保证两串的长度都小于等于5000. 测试样例: "This is nowcoder","is This nowcoder" 返回:true…
两个栈实现队列 牛客网 程序员面试金典 C++ Python 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. C++ //run:5ms memeory:612k class Solution { public: void push(int node) { stack1.push(node); } int pop() { if (stack2.empty()) while(!stack1.empty()){ stack2.push(stack1.t…
作者:./a.out链接:https://www.nowcoder.com/discuss/14022来源:牛客网 话说在牛客网上混迹了半年,也没啥拿的出手的贡献.现在基本上自己的校招生涯要告一段落,就把自己的经验总结拿出来分享下吧. 原文记录在个人的博客http://foocoder.github.io 欢迎来访- 校招准备之知识储备 讲到校招的知识储备,当然不同岗位是需求不不一样的,个人偏C++后台方向( 话说自己除了这个啥都不会 ),所以有相同方向的可以参考一下. 一般而言,面试的方向无非…
链接:https://www.nowcoder.com/acm/contest/172/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 小N得到了一个非常神奇的序列A.这个序列长度为N,下标从1开始.A的一个子区间对应一个序列,可以由数对[l,r]表示,代表A[l], A[l + 1], ..., A[r]这段数.对于一个序列B[1], B[2], ..., B[k],定…
牛客网SQL刷题地址: https://www.nowcoder.com/ta/sql?page=0 牛客网数据库SQL实战解析(01-10题): https://blog.csdn.net/u010666669/article/details/104763370 牛客网数据库SQL实战解析(11-20题): https://blog.csdn.net/u010666669/article/details/104863298 牛客网数据库SQL实战解析(21-30题): https://blog…
http://www.nowcoder.com/ 主要是自己什么都不怎么会.在这里可以学习很多的! 第一天看题自己回答,第二天看牛客网的答案! 1 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? 看到这个问题的时候,我首先想到了JVM.接着看  平台无关的编程语言.对这个问题我还真不知道. 2 JDK和JRE的区别是什么?  JDK--->JAVA开发工具包  :JRE--->JAVA运行环境   JDK包含了JRE 3 ”static”关键字是什么意思?Java中是否可…
链接:https://www.nowcoder.com/acm/contest/147/E 来源:牛客网 题目描述 Niuniu likes to play OSU! We simplify the game OSU to the following problem. Given n and m, there are n clicks. Each click may success or fail. For a continuous success sequence with length X,…
牛客网华为机试题之Python解法 第1题 字符串最后一个单词的长度 a = input().split(" ") print(len(a[-1])) 第2题 计算字符个数 a = input() b = input() print(a.lower().count(b.lower())) 第3题 明明的随机数 while True: try: num = int(input()) data = [] for i in range(num): data.append(int(input(…
链接:https://www.nowcoder.com/acm/contest/197/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 令 X = n!, 给定一大于1的正整数p 求一个k使得 p ^k | X 并且 p ^(k + 1) 不是X的因子. 输入描述: 两个数n, p (1e18>= n>= 10000 >= p >= 2) 输出描述: 一个数…
链接:https://www.nowcoder.com/acm/contest/93/L来源:牛客网 时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld 题目描述 你们wyh学长小时候住在河边,因为周围的生态环境非常好,所以经常会有天鹅浮在湖面上,每只天鹅都长得不一样,它们偶尔排成一排,偶尔分散开,偶尔也会去其他河畔,wyh学长为了统计它们的个数,编了一个程序赋予它们一个"萌"值,但是这些天鹅很…