牛客題解day02
阿新 • • 發佈:2018-11-01
請設計一個高效的方法,找出任意指定單詞在一篇文章中的出現頻數。
給定一個string陣列article和陣列大小n及一個待統計單詞word,請返回該單詞在文章中的出現頻數。保證文章的詞數小於等於1000。
import java.util.*; public class Frequency { public int getFrequency(String[] article, int n, String word) { // write code here ArrayList<String> arrayList=new ArrayList<String>(); for(int i=0;i<article.length;i++) { arrayList.add(article[i]); } int count=0; for(int i=0;i<arrayList.size();i++) { if(word.hashCode()==arrayList.get(i).hashCode()) { count++; } } return count; } }
小易有一個圓心在座標原點的圓,小易知道圓的半徑的平方。小易認為在圓上的點而且橫縱座標都是整數的點是優雅的,小易現在想尋找一個演算法計算出優雅的點的個數,請你來幫幫他。
例如:半徑的平方如果為25
優雅的點就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12個點。
輸入描述:
輸入為一個整數,即為圓半徑的平方,範圍在32位int範圍內。
輸出描述:
輸出為一個整數,即為優雅的點的個數
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int s=sc.nextInt(); System.out.println(countNum(s)); } } private static int countNum(int s) { //勾股定理 int count=0; int r=(int)Math.sqrt(s); //x軸從1開始,避免重複,只求一個象限的 for(int i=1;i<=r;i++){ int m=s-i*i; int y=(int)Math.sqrt(m); if(y*y==m){ count++; } } return 4*count; } }