深信服一面

package written.Shenxinfu;

import java.util.Stack;
import java.util.Scanner;
public class ShowMeBug {
    public static void main(String[] args) {
        int num = 66;
        int t = fun(num);

        System.out.println(t);
    }

    private static int fun(int num) {
        if(getSum(num) < 10) return getSum(num);
        return getSum(getSum(num));
    }
    private static int getSum(int num) {
        int sum = 0;
        while (num > 0) {
            sum += num % 10;
            num /= 10;
        }
        return sum;
    }

//  // 将十进制正整数n转换成k(2<= k <=9)进制
//  public String decToK(int n, int k) {
//      // TODO: your code
//    StringBuilder sb = new StringBuilder();
//    while(n > 0) {
//      sb.append(n % k);
//      n /= k;
//    }
//    sb.reverse();
//    return sb.toString();
//
//
//    Stack<Integer> st = new Stack<>();
//    while(n > 0) {
//      st.push(n % k);
//      n /= k;
//    }
//    StringBuilder sb = new StringBuilder();
//    while(!st.empty()) {
//      sb.append(st.pop());
//    }
//    return sb.toString();
//  }
//
//  public static void main(String[] args) {
//    ShowMeBug instance = new ShowMeBug();
//    System.out.println(instance.decToK(25, 2));
//    System.out.println(instance.decToK(48, 5));
//    System.out.println(instance.decToK(127, 8));
//  }
}

      // import java.util.ArrayList;
      // import java.util.List;

      // public class ShowMeBug {

      //     static List<String> list = new ArrayList<>();

      //     static {
      //         for(int i = 0; i < 10; ++i) {
      //             list.add(i + "");
      //         }
      //     }

      //     public static void main(String[] args) {
      //         // 请用2个(或者n个)线程竞争去取出list中的string打印
      //         // 每个list中的string只能被1个而不是多个线程打印
      //         // 每个线程都是从索引0开始到list中取string, 如果要取的索引被别的索引获取了就不能获取
      //       Poin p = new Poin();
      //       Thread t1 = new Thread(p, "t1");
      //       Thread t2 = new Thread(p, "t2");
      //       t1.start();
      //       t2.start();


      //     }
      //   static class Poin implements Runnable {
      //     private int i = 0;
      //     public void run() {
      //       while(true) {
      //         synchronized(this) {
      //           notify();
      //           if(i < 10) {
      //             System.out.println(Thread.currentThread() + " -- " + list.get(i));
      //             i++;
      //           } else {
      //             break;
      //           }
      //           try {
      //             wait();
      //           } catch (Exception e) {
      //             e.printStackTrace();
      //           }
      //         }
      //       }
      //     }
      //   }
      // }

     // /*
     // 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。

     // 返回滑动窗口中的最大值。

     // 进阶:

     // 你能在线性时间复杂度内解决此题吗?

     // 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3
     // 输出: [3,3,5,5,6,7]
     // 解释:

     //   滑动窗口的位置                最大值
     // ---------------               -----
     // [1  3  -1] -3  5  3  6  7       3
     //  1 [3  -1  -3] 5  3  6  7       3
     //  1  3 [-1  -3  5] 3  6  7       5
     //  1  3  -1 [-3  5  3] 6  7       5
     //  1  3  -1  -3 [5  3  6] 7       6
     //  1  3  -1  -3  5 [3  6  7]      7 


     // 1 <= nums.length <= 10^5
     // -10^4 <= nums[i] <= 10^4
     // 1 <= k <= nums.length
     // */
     // vector<int> maxSlidingWindow(vector<int>& nums, int k) {

     // }

      //可以使用java 写
    // 必须定义 `ShowMeBug` 入口类和 `public static void main(String[] args)` 入口方法
 // import java.util.Deque;
 // import java.util.LinkedList;
 // public class ShowMeBug {
 //   public static void main(String[] args) {
 //     System.out.println("Hello World!");
 //     int[] arr = {1,3,-1,-3,5,3,6,7};
 //     int k = 3;
 //     int[] res = solution(arr, k);
 //     for(int i = 0; i < res.length; i++) {
 //       System.out.print(res[i] + ",");
 //     }
 //     // 输出: [3,3,5,5,6,7]
 //   }
 //     private static int[] solution(int[] arr, int k) {
 //     if(arr == null || arr.length < 2) return arr;

 //     Deque<Integer> que = new LinkedList<>();
 //     int[] res = new int[arr.length - k + 1];
 //     int idx = 0;

 //     for(int i = 0; i < arr.length; i++) {
 //       if(!que.isEmpty() && que.peek() < i - k + 1) que.poll();
 //       while(!que.isEmpty() && arr[que.peekLast()] <= arr[i]) que.pollLast();
 //       que.offerLast(i);
 //       if(i >= k - 1) res[idx++] = arr[que.peek()];
 //     }
 //     return res;
 //   }

 // }


// // 你必须定义一个 `main()` 函数入口。
// #include <iostream>
// using namespace std;


// // 定义一个函数实现两个int类型交换值。
// // 1 用引用

// // 2 用指针
// int main()
// {
//     cout << "Hello, World!" << endl;

//     int a = 5, b = 3;
//     swap()


//     return 0;
// }
// void swap(int *a, int *b) {
//   int t = *a;
//   *a = *b;
//   *b = t;
// }

//实现memecpy
//void *memcpy(void *dest, const void *src, size_t count) {
//
//        }

//public class ShowMeBug {
//    public static void main(String[] args) {
//        System.out.println("Hello World!");
//        String str = "    ab    c   ";
//        String res = fun(str);
//        System.out.println(res);
//        System.out.println(res.length());
//    }
//    private static String fun(String str) {
//        char[] strs = str.toCharArray();
//        StringBuilder sb = new StringBuilder();
//
//        for(int i = 0; i < strs.length; i++) {
//            if(strs[i] == ' ' && sb.length() > 0 &&  sb.charAt(sb.length() - 1) != ' ' )
//                sb.append(" ");
//            else if(strs[i] == ' ' && sb.length() > 0 && sb.charAt(sb.length() - 1) == ' ')
//                continue;
//            else sb.append(strs[i]);
//
//        }
//        sb.deleteCharAt(sb.length() - 1);
//        sb.deleteCharAt(0);
//        return sb.toString();
//    }
//}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值