把一個整數倒序排列(java)
問題:如 123———>321 -123————>-321 120————>21 怎麼玩呢?
注意要考慮整數的範圍是-231次方到231-1
public int reverse(int x) { int rev = 0; while (x != 0) { int pop = x % 10; x /= 10; if (rev > Integer.MAX_VALUE/10 || (rev == Integer.MAX_VALUE / 10 && pop > 7)) return0; if (rev < Integer.MIN_VALUE/10 || (rev == Integer.MIN_VALUE / 10 && pop < -8)) return 0; rev = rev * 10 + pop; } return rev; }
想要玩更多的?請到 https://leetcode.com/explore/
相關推薦
把一個整數倒序排列(java)
問題:如 123———>321 -123————>-321 120————>21 怎麼玩呢? 注意要考慮整數的範圍是-231次方到231-1 public int reverse(int x) { in
Java練習題_寫一個函式reverseList,該函式能夠接受一個List,然後把該List 倒序排列
(List)寫一個函式reverseList, 該函式能夠接受一個List, 然後把該List 倒序排列。 例如: List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(“Learn”); //此時l
給定一個實數陣列,按序排列(從小到大),從陣列從找出若干個數,使得這若干個數的和與M最為接近,描述一個演算法,並給出演算法的複雜度。
有N個正實數(注意是實數,大小升序排列) x1 , x2 ... xN,另有一個實數M。 需要選出若干個x,使這幾個x的和與 M 最接近。 請描述實現演算法,並指出演算法複雜度。 #define M
51Nod 1020 - 逆序排列(DP)
題目連結 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1020 【題目描述】 在一個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱為一個逆序。一個排列中逆序的總數就稱為這個排
《劍指offer》系列 陣列中的逆序對(Java)
連結 牛客:陣列中的逆序對 題目描述 在陣列中的兩個數字,如果前面一個數字大於後面的數字,則這兩個數字組成一個逆序對。輸入一個數組,求出這個陣列中的逆序對的總數P。並將P對1000000007取模的結果輸出。 即輸出P%1000000007 輸入描述 題目保證輸入的陣
《劍指offer》系列 字串的排列(Java)
連結 牛客: 字串的排列 題目描述 輸入一個字串,按字典序打印出該字串中字元的所有排列。例如輸入字串abc,則打印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。 輸入描述: 輸入一個字串,長度不超過9(可能有字元重複),字元只包括
Leetcode:最大子序和(java)
給定一個整數陣列 nums ,找到一個具有最大和的連續子陣列(子陣列最少包含一個元素),返回其最大和。 示例: 輸入: [-2,1,-3,4,-1,2,1,-5,4], 輸出: 6 解釋: 連續子陣列 [4,-1,2,1] 的和最大,為 6。 進階: 如果你已經實現複雜度為 O(n) 的解法,嘗
計算超大整數的階乘(java)
思想 思想來自於網上,將所有的計算結果每一位儲存到陣列中,利用十進位制,每次階乘對陣列中的每一位與目標階乘,然後計算進位,比如:8!= 5040*8={5,0,4,0}*8={40,0,32,0}={4,0,3,2,0} 程式碼實現 /
51nod 1020 逆序排列(dp)
想破腦袋也想不到。。。。 先定義狀態,dp[i][j]表示i個數字的全排列中逆序數為j的序列的個數 剛開始做的時候,拿筆畫了一會,憑著感覺蒙了個狀態轉移方程:dp[i][j]=dp[i-1][j]+
字串的全排列(java)
差不多半個月沒寫部落格了,今天再寫一篇。 字串全排列相信大家都不陌生,對於我來說真的是寫了又忘,忘了又寫,所以決定寫成一篇部落格,廢話不多說下面我來分析問題: 問題描述:給定一個字串寫出它的全排列,例如ab,全排列是ab,ba,而abc的全排列a
將一個數組中的重複元素保留一個其他的清零(Java)
本題目比較簡單,但有小錯誤可能會犯,流程圖及程式碼如下: Created with Raphaël 2.1.0開始int[]a={}int i=0i<a.lengthint j=0j&l
輸出一個字串的全排列(C++)
/* 實現方法: 對於一個字串"abc"輸出它的全排列,第一個字元應該分別為a,b,c;第二個字元,後面應該是除去已輸出部分的剩餘部分的全排列。 即對於"abc", 輸出 a,輸出"abc"除去'a'的全排列; 輸出 b,輸出"bc"除去'b'的全排列;
劍指offer第二版面試題38:字串的排列(java)
題目描述: 輸入一個字串,打印出該字串中字元的所有排列。 例如輸入字串abc,則列印由字元a,b,c所能排列出來的所有字串:abc,acb,bac,bca,cab,cba 分析: 我們求整個字串
深度優先演算法實現字母全排列(Java)
使用Java實現對任意字母的全排列,例如: 在字母ABC中排列出全部答案。使用一般的for迴圈方法也可以解出題目,這裡面就ABC三個字母,使用for迴圈的話也只不過三個迴圈巢狀罷了,如果是ABCDEF
4. 陣列int[] intArr = new int[]{5,9,3,7,2,6},寫出一個函式可根據傳參(引數為需要獲取的陣列型別:1:正序排序陣列;2:倒序排序陣列;)來進行排序,返回值為int
4. 陣列int[] intArr = new int[]{5,9,3,7,2,6},寫出一個函式可根據傳參(引數為需要獲取的陣列型別:1:正序排序陣列;2:倒序排序陣列;)來進行排序,返回值為int陣
一個整數,加上100後是一個完全平方數,再加上168,還是一個完全平方數,求該整數。(JAVA)
分析問題: 由題意可知: 1、這個整數加上100後是完全平方數,而完全平方數不為0,所以有可能是完全平方數的數最小為-100。 2、完全平方數均為整數,那麼列舉法(窮舉法)就可以很好的解決這個問題。 程式清單 import java.util.Scanner; public
給一個不多於5位的正整數,要求: (1)求出它是幾位數 (2)分別輸出每一位數字 (3)按逆序輸出各位數字,例如原數為321,應輸出123
4.9給一個不多於5位的正整數,要求: (1)求出它是幾位數 (2)分別輸出每一位數字 (3)按逆序輸出各位數字,例如原數為321,應輸出123 程式碼: #include “stdio.h” #include “math.h” int count(int n)
把一個整數按大小順序插入已排好序的陣列中。
為了把一個數按大小插入已排好序的陣列中,應首先確定排序是從大到小還是從小到大進行的。設排序是從大到小進序的,則可把欲插入的數與陣列中各數逐個比較,當找到第一個比插入數小的元素 i 時,該元素之前即為插入位置。然後從陣列最後一個元素開始到該元素為止,逐個後移一個單元。最後把插
陣列的延伸(資料刪除、倒序排列)
任務:刪除陣列中的“0”,並進行倒序排列。 package lesson_arr; public class Test{ public static void main(String[] args) { int oldArr[] = {1,3,4,5,0,0,
輸出一個整數的全排列
out 時間 return 反思 std blog log include 屬於 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 // 數組a用來保存一種排列,也就是說100以內數(不