题目的大致意思如下: 输入N组数,一组数代表一个父子对(如,0 1,0代表父节点,1代表子节点),求这N组数所组成的二叉树的高度: 例如: 输入:6  0 1  0 2  1 3  1 4  2 5  3 6 输出:4 解题思路:动态规划法,使用一个数组hight[N]记录每组数所能组成的二叉树的高度,初始化为全1数组,使用一个数组visited[N]来记录每组数的访问情况,找出最优子结构: 当visited[i]=0时,visited[i]=1,hight[i] = hight[i]+1; 然…
给出一个整数(负数使用其绝对值),输出这个整数中的两种递减数(1.最大递减数:2.递减数中各位数之和最大的数)之和. 递减数:一个数字的递减数是指相邻的数位从大到小排列的数字,不包含相邻的数位大小相同的情况. 最大递减数:所输入整数的所有递减数中值最大的一个. 如: 75345323,递减数有:75,753,53,53,532,32.那么最大的递减数为753. 各位数字之和最大的递减数: 如75345323中的各递减数:75各位数之和=12(7+5=12),753各位数之和=15(7+5+3=1…
1057: 输入两个整数,求他们相除的余数 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 177  Solved: 136[Submit][Status][Web Board] Description 输入两个整数,求他们相除的余数.用带参的宏或模板函数来实现,编程序. Input 两个短整型数a,b 两个长整型数c,d Output a/b的余数 c/d的余数 Sample Input 10 9 100000000 999999 Sample O…
1.HDU  1710  Binary Tree Traversals 2.链接:http://acm.hust.edu.cn/vjudge/problem/33792 3.总结:记录下根结点,再拆分左右子树,一直搜下去.感觉像dfs. 题意:二叉树,输入前.中序求后序. (1)建立出一颗二叉树,更直观.但那些指针用法并不是很懂. #include<iostream> #include<cstdio> #include<cstdlib> using namespace…
题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数.例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次. 分析:首先最先想到的是遍历从1到n的每个数,判断每个数中包含1的个数,再相加. 时间复杂度:如果输入数字为n,n有O(logn)位,我们需要判断每个数字的每一位是不是为1,所以时间复杂度为O(n*logn).如果输入数字很大的时候,就需要大量的计算,效率不高. 接下来观察规律: 从个位到最高位,我们判断每一位1出现的次数.比如 对于数2…
几个要注意的地方: (1)Java OJ,必须将类名写成Main (2)关于如何输入多组测试数据,用二维数组去存储是一个方法,直接在while里面做也可以          但是如果  (3)关于整形int越界的问题要考虑,因此用long来做.输出的时候也要注意大小写,换行输出这些细节.   [编程题]A+B和C (15) 给定区间[-2^31, 2^31]内的3个整数A.B和C,请判断A+B是否大于C. 输入描述: 输入第1行给出正整数T(<=10),是测试用例的个数.随后给出T组测试用例,每…
企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%:20万到40万之间时,高于20万元的部分,可提成5%:40万到60万之间时高于40万元的部分,可提成3%:60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? #include<stdio.h> int main(voi…
数组维度搞错了 一次运行,要输入多组数据,直到读至输入文件末尾(EOF)为止 while(scanf("%d %d",&a, &b) != EOF) // 输入结束时,scanf函数返回值为EOF(-1),即没有数据输入时会退出while循环 如何键盘输入EOF windows Ctrl+Z linux  Ctrl+d…
[C语言]输入一个整数N,求N以内的素数之和 /* ============================================================================ Name : HelloWorld.c Author : Firesun Version : Copyright : Your copyright notice Description : Hello World in C, Ansi-style =======================…
--------开始-------- 对于刚开始学编程的人来说每次基本上就是一次数据输入,多次的话基本也是会给定一个数组的大小,但随着做刷算法题开始,题目有的会不直接告诉输入几组数据,基本输入都是多组数据,对此不得不学习输入多种数据的方法. 关于文件结束符EOF        EOF 是 End Of File 的缩写,就是文件结束的意思. EOF在C语言中是在标准库中定义的一个宏,需要注意的是,EOF不是一个字符,它是从文件中读取到的一个字符,通常被定义为 int 型的一个负数 // 例如-1…
编写一个程序,从键盘输入三个整数,求三个整数中的最小值. 关键:声明变量temp   与各数值比较. package Exam01; import java.util.Scanner; public class Topic03 { public static void main(String[] args) { // TODO Auto-generated method stubint a,b,c; //输入 Scanner input = new Scanner(System.in); Sys…
/*====================================================================== [NOIp 1998 提高组]Probelm 2 连接多位数 总时间限制: 10000ms 内存限制: 65536kB 描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:74246…
1. 小米笔试题——升级蓄水池 题目描述: 在米兔生活的二维世界中,建造蓄水池非常简单. 一个蓄水池可以用n个坐标轴上的非负整数表示,代表区间为[0-n]范围内宽度为1的墙壁的高度. 如下图1,黑色部分是墙壁,墙壁的高度是[0,1,0,2,1,0,1,3,2,1,2,1] ,蓝色部分是蓄水的面积,可以看出蓄水池最大蓄水容量是6. 现在米兔想通过增加某些墙壁的高度对蓄水池扩容,但是经费有限,最多只能增加最多m的高度,增加高度只能在[0-n]范围内,高度为0的区域也是可以增加的,为了追求最大的性价比…
题目描述 输入数组长度 n 输入数组      a[1...n] 输入查找个数m 输入查找数字b[1...m]   输出 YES or NO  查找有则YES 否则NO . 输入描述: 输入有多组数据. 每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m,n<=100). 输出描述: 如果在n个数组中输出YES否则输出NO. 输入例子: 5 1 5 2 4 3 3 2 5 6 输出例子: YES YES NO 感觉挺简单的, 提交了3次才成功, while(1) 循环出错或者…
OJ地址:洛谷P1981 CODEVS 3292 正常写法是用栈 #include<iostream> #include<algorithm> #include<cmath> #include<stack> #include<cstring> #include<cstdio> using namespace std; ]; stack<long long>num;//数 stack<char>sy;//符号 v…
描述 所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数, 多重集合S重的重数最大的元素成为众数.例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3. 现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数.   输入 第一行为n,表示测试数据组数.(n<30)每组测试的第一行是一个整数m,表示多重集S中元素的个数为m接下来的一行中给出m(m<100)个不大于10万的自然数(不会出现不同元素出现的次数相同的情况…
将两个日期转换成与一个指定日期(例1970-01-01)之间的差然后计算 思路: 两个日期相隔天数的计算,首先可以将两个日期转换成time_t(从指定日期至1970年1月1日0时0分0秒相隔的秒数),然后计算两个time_t的秒数差,最后用此秒数差除以24*3600秒就可以得到相隔的天数.所以程序中需要建立两个函数,一个是将日期转换成time_t的函数,一个是计算日期相隔天数的函数. 例: 1)建立程序的主体结构: #include<stdio.h> #include<stdlib.h&…
1.创建组件 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>创建组件</title> <script src="https://unpkg.com/vue/dist/vue.js"></script> </head> <body> &l…
总结:对象调用方法,与在main 里直接输出没什么大的区别,少用方法, 乱搞++++ package com.c2; import java.util.Scanner; public class DD { // 求数组的平均值即 :a[i]/a.length public static void main(String[] args) { Scanner c = new Scanner(System.in); int a[] = new int[4]; DD b = new DD(); // D…
Console.WriteLine("请输入学生人数:"); int n=int.Parse(Console.ReadLine()); ArrayList arr= new ArrayList(); ; i <n; i++) { Console.WriteLine(); arr.Add(int.Parse(Console.ReadLine())); } foreach(int a in arr) { Console.Write(a+"\t"); } Conso…
题目 poj的1845 分解a的质因数a=p1^t1*p2^t1........ 每个质因数对sum的贡献: 当除去质因数p1时的因数和为sum,当计入p1时,因子和变成sum*p1^0+sum*p1^1+sum*p1^2......+sum*p1^t1 也就是所有的sum=[1+p1+p1^2+p1^3+...+p1^t1]*[p2.....][p3...] 然后由于是a^b,所以最后是 sum=sum=[1+p1+p1^2+p1^3+...+p1^(t1*b)]*[p2.....][p3..…
前言:其实我还是有点不懂,有点郁闷了,算了直接把代码放上去把. 方法一: Scanner input=new Scanner(System.in); System.out.println("请输入一个字符"); String str=input.next(); char[] strChar=str.toCharArray(); //声明集合,把之存在集合中 Map<Character,Integer> map=new HashMap<>(); for(int i…
总结:可以if-else 循环或switch循环 package com.b; import java.util.Scanner; /*以下4种水果的单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤,10.20元/公斤. //输入水果的编号,输出它的单价,若输出不正确的编号,则显示单价为0: [1] apples [2] pears [3] oranges [4] grapes<!--> //->*/ public class dfhgrr { public static…
写出如下程序运行结果: #include<stdio.h> #include<string.h> int main() { int a[2000]; char *p = (char*)a; for( int i = 0; i < 2000; i++) a[i] = -1 - i; printf( "%d\n", strlen(p)); return 0; } 此乃网速科技2011校园招聘笔试题第一题,本人心里素质很不错,不过看到此题当时就懵了,哪有人这么写…
传送门 https://www.cnblogs.com/violet-acmer/p/9898636.html 题解: 哇哇哇,又是一发暴力AC. 用字符数组存储表达式. 然后将表达式中的 数字 与 运算符号 分开. 两次for( )循环 第一次循环找到所有的 ' * ' 运算符,并把 ' * ' 前的整数乘到 ' * ' 后的整数上,并将 ' * ' 前的整数赋值为 0; 第二次遍历,将所有的数加起来就是答案. 所有中间结果别忘了膜 10000,最终答案也要膜 10000 AC代码: #inc…
#include<stdio.h>void main(){ float a,b,c,max; scanf("%f%f%f",&a,&b,&c); if(a>b) { if(a>c) max=a; else max=c; } else { if(a>b) max=b; else max=c; } printf("Max=%f\n",max);}…
1 #include<stdio.h> 2 #include<string.h> 3 int main() 4 { 5 int a[2000]; 6 char *p = (char*)a; 7 for( int i = 0; i < 2000; i++) 8 a[i] = -1 - i; 9 printf( "%d\n", strlen(p)); 10 return 0; 11 } 运行结果是:1020 解析:     首先要明白负数在内存中的存储方式,还…
题目描述: 一组勾股数满足:a2+b2=c2: 素勾股数:a,b,c彼此互质. 输入正整数N: 输出小于等于N的数中有多少组勾股数. 例: 输入:10 输出:1 思路:我是直接暴力破解的…… 首先找出勾股数,再判断是不是素勾股数.(如果N较大,注意定义成int可能超范围,当然N很大时就不能用暴力破解法了……) 代码: #include <vector> #include <iostream> using namespace std; bool isr(int a, int b);…
称号:考虑到用户层面.打印出指定的矩阵,例如,一个给定的用户10,例如,下面的输出应被视为在图: 程序如下所示: #include <stdio.h> #include <malloc.h> int main() { int dimension; int *p; int startx, starty, endx, endy; int i, j, value = 0; printf("Please input dimension:"); scanf("%…
You enter a URL into the browser输入一个url地址 The browser looks up the IP address for the domain name浏览器查找域名的ip地址(浏览器缓存→系统缓存→路由器缓存→ISP DNS缓存→从根域名服务器递归搜索) The browser sends a HTTP request to the web server浏览器给web服务器发送一个HTTP请求 The facebook server responds…