摘要:
I O(n),差在没有利用有序的条件 func missingNumber(A []int) int { n := len(A) for i := 0; i < n; i++ { for (A[i]>=0 && A[i]<n && A[A[i]] != A[i]) { A[A[i]], A[i] = 阅读全文
摘要:
找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 思路: func findUnsortedSubarray(A []int) int { n, l, r := len(A), len(A), 0 for i := 0; i < n-1; i++ { for j 阅读全文
摘要:
使BST的每个节点 node 的新值重新等于原树中 >=node.val 的值之和。 递归 func convertBST(root *TreeNode) *TreeNode { var pre int var dfs func (root *TreeNode) dfs = func (root * 阅读全文
摘要:
每行的元素从左到右升序排列;每列的元素从上到下升序排列。找target是否在矩阵中 方法一:感觉跟问题I没啥区别啊! func searchMatrix(g [][]int, tar int) bool { n, m := len(g), len(g[0]) i, j := 0, m-1 for ; 阅读全文
摘要:
将数组A分成三个部分,他们的和分别等于:L,M,R,求出使得:L<=M,M<=R的方案数 思路:枚举i∈[0,n-1],求一个区间range,使得区间range中任意一个位置k作为M和R的分割点,即都能使得pre[i+1]<=pre[k+1]-pre[i+1]<=pre[n]-pre[k+1],这是 阅读全文
摘要:
每次从A中选两个数,求满足两数之和是2的幂次方数的个数 思路:记得要枚举所有的2次方数哦 class Solution: def countPairs(self, A: List[int]) -> int: n,ans,mod,E=len(A),0,int(1e9+7),1<<21 mp=colle 阅读全文
摘要:
#include<bits/stdc++.h> using namespace std; class shift_cipher { public: int k; shift_cipher(const int k) { this->k=k; } int encrypt(int x) { return 阅读全文
摘要:
在第 i 天,树上会长出 apples[i] 个苹果,这些苹果将会在 days[i] 天后腐烂,变得无法食用。我打算每天 最多 吃一个苹果。注意,你可以在这 n 天之后继续吃苹果。返回你可以吃掉的苹果的最大数目。 思路:先吃快过期的苹果 class Solution { public: struct 阅读全文
摘要:
题意:求长度为c且满足连续t个元素的和不超过t的子数组的个数 思路:滑动窗口做即可,这是第一版代码(过90%) 感觉没啥问题,但总有一点点别扭,就是 while True: try: n,t,c=map(int, input().split()) A=list(map(int, input().sp 阅读全文
摘要:
现在考虑所有可能的字符串B,有多少种可以在字符串A中完成匹配。 A = "00010001", B = "??" 字符串B可能的字符串是"00","01","10","11",只有"11"没有出现在字符串A中,所以输出3 思路:暴力枚举A的每一个长度为m的子串,然后检查是否能匹配B def solv 阅读全文