字节跳动笔试题:1. 小于N的质数数量;2. 逆时针二维数组;3. 判断a+b>c
1. 小于N的质数数量
import java.util.Scanner; /**
* 计算小于N的质数数量
* @author Turing
*
*/
public class Main4 {
public static void main( String[] args ) {
Scanner sc = new Scanner(System.in);
int [] arr = new int[100];
int num = 0;
while(sc.hasNextLine()){
String str = sc.nextLine().trim();
if(str.equals("")){
break;
}else{
arr[num++] = Integer.valueOf(str);
}
}
for (int i = 0; i < num; i++) {
System.out.println(primesNum(arr[i]));
}
} public static int primesNum(int n){
boolean[] num = new boolean[n];
int number = 0;
for (int i = 2; i < n; i++) {
if(!num[i]){
number++;
for (int j = 2; i*j < n; j++) {
num[i*j]=true;
}
}
}
return number;
}
}
2. 逆时针二维数组 60%
import java.util.Scanner; /**
* 逆时针打印矩阵
* @author Turing
*
*/
public class Main3 {
public static void main( String[] args ) {
Scanner sc = new Scanner(System.in);
String[] results = new String[100];
int index = 0;
while(sc.hasNextLine()){
String str = sc.nextLine().trim();
if(str.equals("")){
break;
}else{
String[] strs = str.split(" ");
int M = Integer.valueOf(strs[0]);
int N = Integer.valueOf(strs[1]);
int [][] matrix = new int [M][N];
int value = 1;
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
matrix[i][j] = value;
value++;
}
}
results[index++] = spiral(matrix, M, N);
}
}
for (int i = 0; i < index; i++) {
System.out.println(results[i]);
} } public static String spiral(int[][] matrix,int M,int N){
String result = "";
if(M!=0){
int row1 = 0;
int row2 = M -1;
int col1 = 0;
int col2 = N-1;
while(row1<=row2 && col1<=col2){
for (int i = col2; i >=col1; i--) {
result += matrix[row1][i] +" ";
}
for (int i = row1+1; i <=row2; i++) {
result += matrix[i][col1] +" ";
}
if(row1<row2 && col1<col2){
for (int i = col1+1; i < col2; i++) {
result += matrix[row2][i] +" ";
}
for (int i = row2; i > row1; i--) {
result += matrix[i][col2] +" ";
}
}
row1++;
row2--;
col1++;
col2--;
}
}
return result.trim();
}
}
3. 判断a+b>c
import java.util.Scanner; /**
* a + b > C
* int64 int64 int64
* [-2^36,-2^63-1]
* @author Turing
*
*/
public class Main2 {
public static void main( String[] args ) {
Scanner sc = new Scanner(System.in);
boolean[] results = new boolean[100];
int index = 0;
while(sc.hasNextLine()){
String str = sc.nextLine().trim();
if(str.equals("")){
break;
}else{
String[] strs = str.split(" ");
long a = Long.valueOf(strs[0]);
long b = Long.valueOf(strs[1]);
long c = Long.valueOf(strs[2]);
results[index++] = abc(a, b, c);
}
}
for (int i = 0; i < index; i++) {
System.out.println(results[i]);
}
} public static boolean abc(long a, long b, long c){
if(a>0 && b>0 && a+b<0){
return true;
}
if(a<0 && b<0 && a+b>0){
return false;
}
return a+b>c?true:false;
}
}
字节跳动笔试题:1. 小于N的质数数量;2. 逆时针二维数组;3. 判断a+b>c的更多相关文章
- 【面试题003】c数组做为参数退化的问题,二维数组中的查找
[面试题003]c数组做为参数退化的问题,二维数组中的查找 一,c数组做为参数退化的问题 1.c/c++没有记录数组的大小,因此用指针访问数组中的元素的时候,我们要确保没有超过数组的边界, 通过下面 ...
- 剑指Offer:面试题3——二维数组中的查找(java实现)
问题描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 思路:取数组中的元素与 ...
- 【剑指Offer面试题】九度OJ1384:二维数组中的查找
下决心AC全部剑指offer面试题. 九度OJ面试题地址:http://ac.jobdu.com/hhtproblems.php 书籍:何海涛--<剑指Offer:名企面试官精讲典型编程题> ...
- 剑指Offer面试题:2.二维数组中的查找
一.题目:二维数组中的查找 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...
- P38、面试题3:二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 首先选取数组中右上角的数字 ...
- 《剑指Offer》面试题-二维数组中的查找
题目1384:二维数组中的查找 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:7318 解决:1418 题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到 ...
- 剑指offer(纪念版) 面试题3:二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 第一种方法题目说不可行 ...
- 【剑指Offer学习】【面试题:二维数组中的查找】PHP实现
最近一直看剑指Offer.里面很多算法题.于是就想着用PHP来显示一下. 题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. 请完成一个函数,输入这样的 ...
- 剑指offer面试题3 二维数组中的查找(c)
剑指offer面试题三:
随机推荐
- React: React的复合组件
一.介绍 不论Web界面是多么的复杂,它都是由一个个简单的组件组合起来实现的,既然会创建一个简单的组件,那么复杂的组件就有了下手的切入点了.现在来实现一个简单的复合组件.一个颜色面板,一共三部分组成. ...
- Web前端——css
css 推荐的样式编写顺序: Positioning:定位 Box model:盒子模型.大小等 Typographic:文字系列.排印等 Visual:可视化.背景等 Misc:其它混杂模式 居中 ...
- asp.net单一登录
asp.net 使用 Application 限制单一登录 原理:用户登录后系统会分配一个与用户唯一对应的SessionID,将当前用户ID与其SessionID对应保存在Application中,一 ...
- StringBuilder修改字符串内容,增,删,改,插
package seday01;/** * 字符串不变对象特性只针对字符串重用,并没有考虑修改操作的性能.因此String不适合频繁修改内容. * 若有频繁修改操作,使用StringBuilder来完 ...
- 易优CMS:关于assign你知道多少
[基础用法] 名称:assign 功能:模板文件中定义变量,可在其他标签里使用该变量 语法: {eyou:assign name='typeid' value='5' /} 文件: 无 参数: nam ...
- elasticsearch 心得
1.es 一台机器一般为一个节点.一台机器不设置的情况下是无法创建副本集的,副本集和主本必须不在一个节点下,方便故障转移等 2.es7.x后一个索引后只能创建一个类型,可以通过修改更改 出现这个的原因 ...
- webpack管理资源(loader操作)
1.加载css npm install --save-dev style-loader css-loader webpack.config.js文件中: const path = require('p ...
- java读取文本文件内容
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/128 java读取文本文件内容 今天写代码写着要调试一个很 ...
- MySQL通过SHOW TABLE STATUS查看库中所有表的具体信息
有时候我们想看下指定库下所有表的使用情况,比如,查询表的Table大小,什么时候创建的,数据最近被更新的时间(即最近一笔insert/update/delete的时间).这些信息对我们进行库表维护很有 ...
- BayaiM__oracle切换归档模式步骤:
BayaiM__oracle切换归档模式(步骤): ------------------oracle11g设置归档模式和非归档模式--------------------------[root@tes ...