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的更多相关文章

  1. 【面试题003】c数组做为参数退化的问题,二维数组中的查找

    [面试题003]c数组做为参数退化的问题,二维数组中的查找  一,c数组做为参数退化的问题 1.c/c++没有记录数组的大小,因此用指针访问数组中的元素的时候,我们要确保没有超过数组的边界, 通过下面 ...

  2. 剑指Offer:面试题3——二维数组中的查找(java实现)

    问题描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 思路:取数组中的元素与 ...

  3. 【剑指Offer面试题】九度OJ1384:二维数组中的查找

    下决心AC全部剑指offer面试题. 九度OJ面试题地址:http://ac.jobdu.com/hhtproblems.php 书籍:何海涛--<剑指Offer:名企面试官精讲典型编程题> ...

  4. 剑指Offer面试题:2.二维数组中的查找

    一.题目:二维数组中的查找 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...

  5. P38、面试题3:二维数组中的查找

    题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 首先选取数组中右上角的数字 ...

  6. 《剑指Offer》面试题-二维数组中的查找

    题目1384:二维数组中的查找 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:7318 解决:1418 题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到 ...

  7. 剑指offer(纪念版) 面试题3:二维数组中的查找

    题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.   第一种方法题目说不可行 ...

  8. 【剑指Offer学习】【面试题:二维数组中的查找】PHP实现

    最近一直看剑指Offer.里面很多算法题.于是就想着用PHP来显示一下. 题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. 请完成一个函数,输入这样的 ...

  9. 剑指offer面试题3 二维数组中的查找(c)

    剑指offer面试题三:

随机推荐

  1. Java实现编辑距离算法

    Java实现编辑距离算法 编辑距离,又称Levenshtein距离(莱文斯坦距离也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它 ...

  2. pycharm问题解析(connecting to console)

    1. 场景描述 以前一直用的anaconda3,临时下载了demo用的python2,就下载anaconda2安装了下,测试过后,发现pycharm中以前的项目跑不起来了,一直报:connecting ...

  3. 【计算机网络】如何让Ajax通信过程携带Cookie呢?

    Ajax 1. 介绍一下ajax并代码实现 1.1 基本概念 JavaScript 和XML(Asynchronous JavaScript And XML).简单点说,就是使用 XMLHttpReq ...

  4. netty ByteBuf与String相互转换

    String转为ByteBuf 1)使用String.getBytes(Charset),将String转为byte[]类型 2)使用Unpooled.wrappedBuffer(byte[]),将b ...

  5. 织梦DEDECMS本地后台操作卡顿的解决方法

    打开/data/common.inc.php,把默认的$cfg_dbhost = ‘localhost‘修改为$cfg_dbhost = ‘127.0.0.1’;保存.然后你会发现后台操作起来流畅多了 ...

  6. python3 对list对象的增删改查

    class peoples: people_list =[] class people: name='' age=-1 def __init__(self,name,age): self.name = ...

  7. 获取给定地址中的域名,substring()截取

    package seday01;/** * 获取给定地址中的域名 * @author xingsir */public class Test { public static void main(Str ...

  8. StringBuilder修改字符串内容,增,删,改,插

    package seday01;/** * 字符串不变对象特性只针对字符串重用,并没有考虑修改操作的性能.因此String不适合频繁修改内容. * 若有频繁修改操作,使用StringBuilder来完 ...

  9. DQL---条件查询、单行函数、多行函数、分组函数、数据类型

    一.DQL 1.基本规则: (1)对于日期型数据,做 *,/ 运算不合法,可以进行 +, - 运算.比如给日期加一天或减一个月,结果仍为一个日期.两个日期间只能为减法,返回两个日期相差的天数,两个日期 ...

  10. 防火墙centos7执行 service iptables status报错问题完美解决

    在centos7 执行防火墙命令时 service iptables status 报错如下: 解决方案 : 1.systemctl start firewalld.service(开启防火墙) 2. ...