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

    1.rpm下载地址 https://download.oracle.com/otn/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm?AuthParam=1570520 ...

  2. CodeForces 200D Programming Language

    Recently, Valery have come across an entirely new programming language. Most of all the language att ...

  3. MapReduce Shuffle 和 Spark Shuffle 原理概述

    Shuffle简介 Shuffle的本意是洗牌.混洗的意思,把一组有规则的数据尽量打乱成无规则的数据.而在MapReduce中,Shuffle更像是洗牌的逆过程,指的是将map端的无规则输出按指定的规 ...

  4. java高并发系列 - 第11天:线程中断的几种方式

    java高并发系列第11篇文章. 本文主要探讨一下中断线程的几种方式. 通过一个变量控制线程中断 代码: package com.itsoku.chat05; import java.util.con ...

  5. C# 判断(Excel)文件是否已经打开

    using System.IO; using System.Runtime.InteropServices;   [DllImport("kernel32.dll")] publi ...

  6. python基础(17):正则表达式

    1. 正则表达式 1.1 正则表达式是什么 正则表达式本身也和python没有什么关系,就是匹配字符串内容的一种规则. 官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符 ...

  7. Java生鲜电商平台-订单中心服务架构与异常订单逻辑

    Java生鲜电商平台-订单中心服务架构与异常订单逻辑 订单架构实战中阐述了订单系统的重要性,并从订单系统的信息架构和流程上对订单系统有了总体认知,同时还穿插着一些常见的订单业务规则和逻辑.上文写到订单 ...

  8. 垃圾分类环保宣传 PPT模板

    模板来源:http://ppt.dede58.com/peixunyanjiang/26263.html

  9. js清除定时器注意点

    如何这篇文章所述:https://www.cnblogs.com/mmykdbc/p/7418575.html js多次调用创建定时器的函数,会使定时器速度越来越快,多次调用定时器的使用场景比如:监听 ...

  10. canvas绘制流程图

    最近在做一个需求,根据数据动态生成以下类似的流程图,需要可以设置每个节点的颜色,每个节点可添加点击移动等相关的事件 代码中有做很多的注释和说明,相关的文档说明链接:https://9eb75i.axs ...