字节跳动笔试题: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面试题三:
随机推荐
- 【Nginx】Nginx反向代理转发Host设置
#事故现场: 服务器A(Nginx服务器):192.168.2.126 服务器B(Web服务器):192.168.2.221 服务器A反向代理服务器B,A配置了upstream为: http { up ...
- 鸟哥的Linux私房菜笔记第五章,文件权限与目录配置(二)
Linux目录配置的依据--FHS 因为利用Linux来开发产品的公司太多,例如,CentOS.Ubuntu.ReHat...,导致了配置文件存放的目录没有统一的标准.后来就有了FHS(Filesys ...
- jieba 分词使用入门
1. 介绍 JIEBA 是目前最好的 Python 中文分词组件,它主要有以下 3 种特性: 支持 3 种分词模式:精确模式.全模式.搜索引擎模式 支持繁体分词 支持自定义词典 import jieb ...
- Mysql - 存储过程 - 定时删表
在工业监控里面, 需要对每天的数据, 进行记录, 时间长了之后, 数据库很容易撑爆. 这时候, 如果允许, 可以对之前的数据进行一次清除, 只记录几个月内的数据. delimiter $ DROP P ...
- PHPStorm使用PHP7新特性出现红色波浪错误
今天在项目中使用PHP7新特性时PHPStorm出现了如下红色错误,看着让人很不舒服,明明没有错 本地配置LNMP的PHP版本是7.2所以不是安装的PHP版本过低的问题,而是PHPStorm默认支持的 ...
- OpenGL入门1.5:矩阵与变换
每一个小步骤的源码都放在了Github 的内容为插入注释,可以先跳过 前言 在阅读本篇博客之前,你必须对向量和矩阵有基本的认识,并且能熟练进行向量和矩阵的运算 我们已经知道了如何创建一个物体.着色.加 ...
- Elasticsearch 6.x版本全文检索学习之分布式特性介绍
1.Elasticsearch 6.x版本全文检索学习之分布式特性介绍. 1).Elasticsearch支持集群默认,是一个分布式系统,其好处主要有两个. a.增大系统容量,如内存.磁盘.使得es集 ...
- 为什么 WPF 的 Main 方法需要标记 STAThread 。
在编写 WPF 程序时,会发现 Main 方法上方会标记 [STAThread] . 作用:STAThread 标记主线程,也就是 UI 线程是 STA 线程模型. 1 什么是 STA ? 与 STA ...
- Java基础--常用API--IO流相关API
一.IO流 1.定义: IO流指的是Input/Output流,即输入流/输出流. 输入流:将外界信息写入程序,即从外界获取信息,属于读操作. 输出流:将程序数据发送给外界,即向外界传输数据,属于写操 ...
- 从高版本的 SQL Server 向低版本的 SQL Server 转移数据
1.在源数据库上右键任务,选择生成脚本- 2.在生成脚本的高级选项中,根据数据库的内容,选择相应的选项,主要是红框圈出的部分,最后选择仅架构(若数据库的数据量不大,可以直接导出 架构和数据,在新数据库 ...