筆試題1:將一個字符串轉化成整數:把字符串轉換成整數__牛客網將一個字符串轉化成整數,要求不能使用字符串轉化成整數的庫函數,數值為0或者字符串不是一個合法的數值那么返回0
網站建設哪家好,找成都創新互聯!專注于網頁設計、網站建設、微信開發、小程序定制開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了南平免費建站歡迎大家使用!輸入描述:輸入一個字符串,包含數字字母符號,可以為空
返回值敘述:如果是合法的數字表達那么直接返回該數字,否則返回0
1)輸入:"+2147483647"
輸出:2147483647
2)輸入:"1a33"
輸出:0
3)輸入:"123"
輸出:123
現在我們來進行查看一個正常情況:1)比如說現在有一個正常的字符串是123,這里面包含了三個字符,一個是字符'1',一個是字符'2',一個是字符'3'
2)但是我們在ASCIL碼表中可以看出字符0對應的十進制數是48,字符1對應的十進制數是49,字符2對應的十進制數是50
3)我們如果說想要把一個字符串變成整數,那么就需要套一個公式:sum的初始值是0
sum=sum*10+str[i]-'0'
比如說現在有一個字符串是123
3.1)str[0]='1',sum=0+'1'-'0'=1;
3.2)str[1]='2',sum=1*10+'2'-'0'=12;
3.3)str[2]='3',sum=12*10+'3'-'0'=123;
下面還有一種寫法:import java.util.*; public class Solution { public boolean isTrue(char ch){ if(ch>='0'&&ch<='9'){ return true; }else{ return false; } } public int StrToInt(String str){ str=str.trim();//去掉兩邊的空格 if(str==null||str.equals("")){ return 0; }//如果說去掉兩邊的空格之后還是一個空字符串,那么就直接返回0 //1.我們期望先把整個字符串變成一個合法的數字,例如說-123,123之類的 StringBuilder sb=new StringBuilder(); for(int i=0;i
import java.util.*; public class Solution { public boolean isTrue(char ch){ if(ch>='0'&&ch<='9'){ return true; }else{ return false; } } public int StrToInt(String str){ if(str==null||str.isEmpty()){ return 0; } int flag=1; //特殊判斷第一個字符 if(str.charAt(0)=='+') flag=1; if(str.charAt(0)=='-') flag=-1; int sum=0; for(int i=0;i
='0'&&str.charAt(i)<='9'){ sum=sum*10+str.charAt(i)-'0'; }else{ if(str.charAt(i)=='+'||str.charAt(i)=='-'){ continue; } sum=0; break; } } return flag*sum; } }
?筆試題2:不要2不要二_牛客題霸_牛客網二貨小易有一個W*H的網格盒子,網格的行編號為0~H-1,網格的列編號為0~W-1。每個格子至多可以放一塊蛋糕,任意兩塊蛋糕的歐幾里得距離不能等于2。
這是一個純數學問題:
對于兩個格子坐標(x1,y1),(x2,y2)的歐幾里得距離為:
( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算術平方根
小易想知道最多可以放多少塊蛋糕在網格盒子里。1)對于兩個格子坐標(X1,Y1),(X2,Y2)的歐幾里得距離為:
((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2))的算術平方根不能等于2
所以說(X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2)的平方不能等于4
2)所以說我們現在就來找一下使得(X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2)的所有情況
3)我們可以對加法表達式進行分解:
1+3=4
3+1=4
2+2=4
0+4=4
4+0=4
所以在這里面我們仔細地分析了一下,前三個表達式是不能夠進行存在的
所以說要么是(X1-X2)*(X1-X2)=0和(Y1-Y2)*(Y1-Y2)=4
要么是(X1-X2)*(X1-X2)=4和(Y1-Y2)*(Y1-Y2)=0
4)所以說最終的結果就是: X1=X2,Y2=Y1+2
Y1=Y2,X1=X2+2
5)題目要求是任意兩塊蛋糕的歐幾里得的距離不能等于2,那么也就是說如果我們在
array[i][j]位置處存放了蛋糕,那么array[i+2][j]和array[i][j+2]的位置處就不能存放蛋糕了
6)所以說在我們進行創建數組的時候,數組的默認值都是0,那么如果說這個位置開始進行存放了蛋糕,那么對應位置的array[i+2][j]和array[i][j+2]的位置都不能進行存放蛋糕,那么就手動置為1;
import java.util.Scanner; // 注意類名必須為 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int m=scanner.nextInt(); int n=scanner.nextInt(); int[][] array=new int[m][n]; int count=0; for(int i=0;i
筆試題3:有效的括號序列:有效括號序列_牛客題霸_牛客網我們首先要首先要進行注意下了:
一:如果說要判斷我們的字符串是否合法1)字符串只能由括號組成
2)進行括號匹配
二:我們該如何選擇一個合適的數據結構呢?2.1)首先我們要存儲遍歷過的左括號,我們在這里還需要進行注意最先遍歷到的左括號最后被匹配走
2.2)最后遍歷到的左括號最先被右括號匹配
2.3)只有當我們遍歷完這個字符串之后,棧里面也恰好沒有元素了,我們就說左右括號匹配
三:這個題主要有四種情況1)左右括號匹配
2)左右括號不匹配
3)左括號多
4)右括號多
import java.util.*; public class Solution { public boolean isValid (String str) { if(str.length()%2==1){ //字符串長度是奇數,那么說明此時括號一定不匹配 return false; } Stack
stack=new Stack<>(); for(int i=0;i
筆試題4:斐波那契額數列Fibonacci數列_牛客題霸_牛客網 思路:1)我們正常輸入了一個正整數N,我們想求它比它小的最近的斐波那契額數列的那個數left和比他大的最近的斐波那契額數列的那一個數right
2)返回right-N和N-left的最小值
import java.util.Scanner; // 注意類名必須為 Main, 不要有任何 package xxx 信息 public class Main { public static int GetMin(int x,int y){ if(x>y) return y; return x; } public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int index=scanner.nextInt(); int a=0; int b=1; int c=1; while(c
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
分享題目:筆試訓練(6)-創新互聯
鏈接地址:http://vcdvsql.cn/article40/didoeo.html
成都網站建設公司_創新互聯,為您提供關鍵詞優化、網頁設計公司、網站內鏈、品牌網站建設、手機網站建設、品牌網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯