258.各位相加
給定一個非負整數 num
,反覆將各個位上的數字相加,直到結果為一位數。
示例:
輸入: 38
輸出: 2
解釋: 各位相加的過程為:3 + 8 = 11, 1 + 1 = 2。 由於 2 是一位數,所以返回 2。
進階: 你可以不使用迴圈或者遞迴,且在 O(1) 時間複雜度內解決這個問題嗎?
class Solution { public: int addDigits(int num) { if(num==0) return 0; int t=num%9; return (t!=0)?t:9; } };
相關推薦
leetcode 258. 各位相加
復雜度 leet ret num 整數 pan 獲得 直接 git 給定一個非負整數 num,反復將各個位上的數字相加,直到結果為一位數。 示例: 輸入: 38 輸出: 2 解釋: 各位相加的過程為:3 + 8 = 11, 1 + 1 = 2。 由於 2 是一位數,所以返
LeetCode--258--各位相加*
給定 -- style 由於 type 返回 col div 整數 問題描述: 給定一個非負整數 num,反復將各個位上的數字相加,直到結果為一位數。 示例: 輸入: 38 輸出: 2 解釋: 各位相加的過程為:3 + 8 = 11, 1 + 1 = 2。 由於 2
leetcode-258. 各位相加
給定一個非負整數 num,反覆將各個位上的數字相加,直到結果為一位數。 示例: 輸入: 38 輸出: 2 解釋: 各位相加的過程為:3 + 8 = 11, 1 + 1 = 2。 由於 2 是一位數,所以返回 2。 進階: 你可以不使用迴圈或者遞迴,且在 O(1) 時間複雜度內解決這個
Leetcode-------258. 各位相加
給定一個非負整數 num,反覆將各個位上的數字相加,直到結果為一位數。 示例: 輸入: 38 輸出: 2 解釋: 各位相加的過程為:3 + 8 = 11, 1 + 1 = 2。 由於 2 是一位數,所以返回 2。 --------------------------
leetcode 258 各位相加 ------
給定一個非負整數 num,反覆將各個位上的數字相加,直到結果為一位數。 示例: 輸入: 38 輸出: 2 解釋: 各位相加的過程為:3 + 8 = 11, 1 + 1 = 2。 由於 2 是一位數,所以返回 2。 進階: 你可以不使用迴圈或者遞迴,且在 O(1) 時間複雜度內解決這個
258.各位相加
給定一個非負整數 num,反覆將各個位上的數字相加,直到結果為一位數。 示例: 輸入: 38 輸出: 2 解釋: 各位相加的過程為:3 + 8 = 11, 1 + 1 = 2。 由於 2 是一位數,所以返回 2。 進階: 你可以不使用迴圈或者遞迴,且在 O(1) 時
LeetCode—258. 各位相加
#include <stdio.h> #include <stdlib.h> #include <string.h> int addDigits(int num) {
leetcode 258. 各位相加(Add Digits)
pre tle solution urn 整數 目錄 相加 lse digits 目錄 題目描述: 示例: 進階: 解法: 題目描述: 給定一
LeetCode刷題記錄——第258題(各位相加)
題目描述 給定一個非負整數 num,反覆將各個位上的數字相加,直到結果為一位數。 示例: 輸入: 38 輸出: 2 解釋: 各位相加的過程為:3 + 8 = 11, 1 + 1 = 2。 由於 2 是一位數,所以返回 2。 思路分析 很明顯,需要
Leetcode -- 258 數位相加
pan -- roc lee class 取出 do it oop urn 258. Given a non-negative integer num, repeatedly add all its digits until the result has only one
各位相加
整數 pro code 思想 light int 實現 digits logs 題目鏈接 http://www.lintcode.com/zh-cn/problem/add-digits/ 題目大意 給出一個非負整數 num,反復的將所有位上的數字相加,直到得到一個一位的整
leetcode258:各位相加
思想: 根據舉例,發現最後所得數是num求餘9。但有個特殊情況,nums是9的倍數時,求餘等於0,但是按題目要求應該是9。大佬的處理是nums-1在求餘9,最終返回1+(nums-1)%9。這樣很好解決問題 class Solution: def addDigits(self, nu
【LeetCode 簡單題】68-各位相加
宣告: 今天是第68道題。給定一個非負整數 num,反覆將各個位上的數字相加,直到結果為一位數。以下所有程式碼經過樓主驗證都能在LeetCode上執行成功,程式碼也是借鑑別人的,在文末會附上參考的部落格連結,如果侵犯了博主的相關權益,請聯絡我刪除 (手動比心ღ( ´・ᴗ・` ))
leetcode題庫——各位相加
題目描述: 給定一個非負整數 num,反覆將各個位上的數字相加,直到結果為一位數。 示例: 輸入: 38 輸出: 2 解釋: 各位相加的過程為:3 + 8 = 11, 1 + 1 = 2。 由於 2 是一位數,所以返回 2。 進階: 你可以不使用迴圈或者遞
LeetCode258各位相加
給定一個非負整數 num,反覆將各個位上的數字相加,直到結果為一位數。 int addDigits(int num) { int sum = 0; int n; while(num){ n = num % 10; sum += n
【LeetCode】各位相加
給定一個非負整數 num,反覆將各個位上的數字相加,直到結果為一位數。 示例: 輸入: 38 輸出: 2 解釋: 各位相加的過程為:3 + 8 = 11, 1 + 1 = 2。 由於2是一位數,所以返回 2。 import java.lang.reflect.Array;
LeetCode258 各位相加
題目 給定一個非負整數 num,反覆將各個位上的數字相加,直到結果為一位數。 示例 輸入: 38 輸出: 2 解釋: 各位相加的過程為:3 + 8 = 11, 1 + 1 = 2。 由於 2 是一位數,所以返回 2。 進階: 你可以不使用迴圈或者遞迴,且在 O(
LeetCode258題:各位相加——數字根
這道題涉及到數學領域的一個定理,即“數字根”。 解法一:笨方法(迴圈) public int addDigits(int num) { Integer res = new Integer(num); while(res>
c語言大數乘法各位相加問題
#include<stdio.h> #include<string.h> void cal(int n); int main() {char a[100],b[100];int x[100],y[100],c[100],i,j,z,d,k,sum,m,n;scanf("%s",&
38.找出100-999之間各位相加等於15的數及個數
給定程式中,函式fun的功能是:找出100至x(x<999)之間各位上的數字之和為15的所有整數,然後輸出,符合條件的整數個數作為函式返回值。 #include<stdio.h> fun(int x) { int n, s1, s2, s3, t;