Java日记2018-06-13

  1. 扑克牌顺子
public boolean isContinuous(int[] nums) {
    if (nums.length < 5)
        return false;
    Arrays.sort(nums);
    int cnt = 0;
    for (int num : nums)
        if (num == 0)
            cnt++;
    for (int i = cnt; i < nums.length - 1; i++) {
       //不是连续的,返回false
        if (nums[i + 1] == nums[i])
            return false;
        cnt -= nums[i + 1] - nums[i] - 1;
    }
    return cnt >= 0;
}
  1. 圆圈中最后剩下的数
public int LastRemaining_Solution(int n, int m) {
    if (n == 0)
        return -1;
    if (n == 1)
        return 0;
    return (LastRemaining_Solution(n - 1, m) + m) % n;
}
  1. 股票的最大利润
public class maxProfit {
    public static int max(int[] arr) {
        if(arr.length==0) return 0;
        int maxprofit=0;
        int min = arr[0];
        //循环从1开始,因为要使用最低的买入策略arr[0]
        for(int i=1;i

你可能感兴趣的:(Java日记2018-06-13)