private StringBuilder[] arr = new StringBuilder[4]; private char[] dirs = new char[]{'U','U','L','R'}; //Test2096 public String getDirections(TreeNode root, int startValue, int destValue) { String
public int minimumBuckets(String hamsters) { char[] array = hamsters.toCharArray(); int n = array.length; int ans = 0; int inf = Integer.MIN_VALUE/2; int[] count = new int[n];
class Solution { int N = 110, M = N * 2; int[] he = new int[N], e = new int[M], ne = new int[M]; int[] vi, wi; int n, c, idx; // 定义 f[u
public int findMaxForm(String[] strs, int m, int n) { int len = strs.length; int[][] cost = new int[len][2]; for (int i = 0; i < len; i++) { String str = strs[0]; for (i
public int numRollsToTarget(int n, int k, int target) { int mod = 1000000007; int[] dp = new int[target + 1]; for (int i = Math.min(k, target); i > 0 ; i--) { dp[i] = 1; }
public int maxTotalReward(int[] rewardValues) { int n = rewardValues.length; Arrays.sort(rewardValues); int max = rewardValues[n - 1]; int[] dp = new int[max]; dp[0] = 1; int a
public int numberOfWays(int n, int x) { int[] dp = new int[n + 1]; int mod = 1_000_000_007; dp[0] = 1; for (int i = 1; Math.pow(i,x) <= n; i++) { int num = (int)Math.pow(i,
public int minPathCost(int[][] grid, int[][] moveCost) { int m = grid.length; int n = grid[0].length; int inf = 0x3f3f3f3f; int[][] dp = new int[m][n]; for (int[] ints : dp) {
public String largestNumber(int[] cost, int target) { String[] dp = new String[target + 1]; dp[0] = ""; int n = cost.length; for (int i = n -1; i >=0 ;i--) { for (int j = co
public int waysToReachTarget(int target, int[][] types) { int n = types.length; int mod = 1_000_000_007; int max = 0; for (int i = 0; i < n; i++) { max = Math.max(max, type
public int numSquares(int n) { int k = (int)Math.sqrt(n); int[] dp = new int[n + 1]; for (int i = 1; i <= n; i++) { dp[i] = dp[i -1] + 1; } for (int i = 2; i <= k; i+
public boolean canPartition(int[] nums) { int n = nums.length; int sum = 0; for (int num : nums) { sum += num; } if ((sum & 1) != 0) { return false; } i
public int[] maximumBeauty(int[][] items, int[] queryies) { int n = items.length; Arrays.sort(items,(a,b)->{ return a[0] - b[0];}); int[] maxArray = new int[n]; int max = 0
public ListNode reverseEvenLengthGroups(ListNode root) { int len = 1; ListNode ans = new ListNode(); ans.next = root; int i = 0; ListNode last = root; while (root != null) {
public int minimizedMaximum(int n, int[] quantities) { int sum = 0; int r = 0; for (int quantity : quantities) { r = Math.max(quantity, r); sum += quantity; } if (s
public long countVowels(String word) { Map<Character, Boolean> map = new HashMap<>(); map.put('a', true); map.put('e', true); map.put('i', true); map.put('o', true);
public int minimumOperations(int[] nums, int start, int goal) { int n = nums.length; List<Operator> opList = new ArrayList<>(); opList.add((a, b) -> { return a - b;
public int[] nodesBetweenCriticalPoints(ListNode head) { ListNode pre = head; head = head.next; Deque<Integer> q = new LinkedList<>(); int maxDistance = Integer.MIN_VALUE;
public int countHighestScoreNodes(int[] parents) { int n = parents.length; int[] count = new int[n]; List<Integer>[] G = new ArrayList[n]; for (int i = 0; i < n; i++) {
public boolean winnerOfGame(String colors) { char[] array = colors.toCharArray(); PriorityQueue<Integer> q1 = new PriorityQueue<>(); PriorityQueue<Integer> q2 = new Prior
public int networkBecomesIdle(int[][] edges, int[] patience) { int n = patience.length; List<Integer>[] G = new List[n]; for (int i = 0; i < n; i++) { G[i] = new ArrayList
public int minOperations(int[][] grid, int x) { int m = grid.length; int n = grid[0].length; int pre = grid[0][0]; int len = m * n; int[] arr = new int[len]; int index = 0;
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号