美文网首页
java 刷题4

java 刷题4

作者: robertzhai | 来源:发表于2023-08-19 11:24 被阅读0次

https://leetcode.cn/problems/find-all-numbers-disappeared-in-an-array/description/

// 原地 hash
class Solution {
    public List<Integer> findDisappearedNumbers(int[] nums) {
        int n = nums.length;
        int i;
        int index;
        for(i=0;i<n;++i) {
            index = (nums[i]-1)%n;
            nums[index] += n;
        }
        List<Integer> ret = new ArrayList<>();
        for(i = 0;i<n;++i) {
            if (nums[i] <= n) {
                ret.add(i+1);
            }
        }
        return ret;
    }
}
/*
class Solutionv1 {
    public List<Integer> findDisappearedNumbers(int[] nums) {
        int n = nums.length;
        boolean[] statis = new boolean[n+1];
        for(int num : nums) {
            statis[num] = true;
        }
        List<Integer> ret = new ArrayList<Integer>();
        for(int i=1;i<=n;i++) {
            if (!statis[i]) {
                ret.add(i);
            }
        }
        return ret;
    }
}*/

https://leetcode.cn/problems/can-place-flowers/submissions/

// 贪心



class Solution {
    public boolean canPlaceFlowers(int[] flowerbed, int n) {
        if (n <=0) {
            return true;
        }
        int total = flowerbed.length;
        
        for(int i = 0;i<total;++i) {
            if (flowerbed[i] == 0 && (i == 0 || flowerbed[i-1] == 0) && (i == total -1 || flowerbed[i+1] == 0)) {
                flowerbed[i] = 1;
                --n;
            }
        
            if(n <= 0) {
                return true;
            }
        }
        
        if(n <= 0) {
            return true;
        }

        return false;
    }
}

https://leetcode.cn/problems/pascals-triangle-ii/submissions/

class Solution {

    private int[][] grid;

    public Solution() {
        int rowIndex = 33;
        grid = new int[rowIndex+1][];
        for (int i=0;i<=rowIndex;++i) {
            grid[i] = new int[i+1];
            grid[i][0] = 1;
            grid[i][i] = 1;
        }
        for (int i=2;i<=rowIndex;++i) {
            for(int j = 1;j<i;++j) {
                grid[i][j] = grid[i-1][j-1] + grid[i-1][j];
            }
        }
    }
    public List<Integer> getRow(int rowIndex) {
        
        List<Integer> ret = new ArrayList<>();
        for(int j=0;j<=rowIndex;++j) {
            ret.add(grid[rowIndex][j]);
        }
        return ret;

    }
}

class Solutionv1 {

    
    public List<Integer> getRow(int rowIndex) {
        int [][] grid = new int[rowIndex+1][];
        for (int i=0;i<=rowIndex;++i) {
            grid[i] = new int[i+1];
            grid[i][0] = 1;
            grid[i][i] = 1;
        }
        for (int i=2;i<=rowIndex;++i) {
            for(int j = 1;j<i;++j) {
                grid[i][j] = grid[i-1][j-1] + grid[i-1][j];
            }
        }
        List<Integer> ret = new ArrayList<>();
        for(int j=0;j<=rowIndex;++j) {
            ret.add(grid[rowIndex][j]);
        }
        return ret;

    }
}

ref

相关文章

  • 大型企业面试准备

    1.刷题 java3.数据结构4.算法5.android核心机制和原理

  • java集合-ArrayList

    java集合-ArrayList 最近在使用java刷leetcode。在刷题期间,经常会用到java的集合类Ar...

  • 刷题-Java篇(。。。)

    1.在运行时,由java解释器自动引入,而不用import语句引入的包是()。A.java.langB.java....

  • java刷题语法

    数组 List stack 队列 set iterator String StringBuilder Priori...

  • java 刷题感受

    java 刷题基础知识 写在前面 lintcode 与 leetcode 刷题的好处:只关心功能的实现,不用处理相...

  • java刷题-2

    总结 多线程控制并发顺序问题,线程之间通信问题AtomicIntegerlock wait + notifyAll...

  • java刷题-1

    总结 按位与来统计1的个数 异或来交换2个变量 1、https://leetcode.cn/problems/po...

  • java刷题-3

    总结 用一个变量来控制流转 1、https://leetcode.cn/problems/fizz-buzz-mu...

  • Java 技术栈

    1、Java基础 Leetcode 刷题、Java 编程思想、JVM 原理、设计模式、Java 8 新特性 2、项目经验

  • 刷题-排序4

    题目: 给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当 A[i] 为奇...

网友评论

      本文标题:java 刷题4

      本文链接:https://www.haomeiwen.com/subject/umwdmdtx.html