当前位置: 首页 > news >正文

个人如何制作网站源码wordpress获取数组长度

个人如何制作网站源码,wordpress获取数组长度,WordPress主题加密方式,网站设置保存登录密码怎么取消目录 一#xff0c;3364. 最小正和子数组 二#xff0c; 3365. 重排子字符串以形成目标字符串 三#xff0c;3366. 最小数组和 四#xff0c;3367. 移除边之后的权重最大和 一#xff0c;3364. 最小正和子数组 本题可以直接暴力枚举#xff0c;代码如下#xff1a; …目录 一3364. 最小正和子数组 二 3365. 重排子字符串以形成目标字符串 三3366. 最小数组和 四3367. 移除边之后的权重最大和 一3364. 最小正和子数组 本题可以直接暴力枚举代码如下 class Solution {public int minimumSumSubarray(ListInteger nums, int l, int r) {int n nums.size();int ans Integer.MAX_VALUE;for(int kl; kr; k){int s 0;for(int i0, j0; jn; j){s nums.get(j);if(j-i1 k){s - nums.get(i);i;}if(j-i1 k s 0) ans Math.min(ans, s);}}return ansInteger.MAX_VALUE ? -1 : ans;} } 如果它的数据范围更大一点上述做法会超时所以这里再介绍一个O(n*logn)的做法 这题求子数组和的最小正值子数组和可以直接使用前缀和来求题目要求子数组的长度在 [LR] 之间可以枚举左端点 / 右端点这里选择枚举右端点下标 i再根据上述条件直接推出左端点的下标 j 的范围 [i-Ri-L]假设前缀和数组为 s此时 si 是固定的要使得 si - sj 的值更大sj 必须是小于 si 的最大值题目要求为正数求 sj si 的最大值且 j 属于 [i-Ri-L]这可以使用有序集合二分来做 代码如下 class Solution {public int minimumSumSubarray(ListInteger nums, int l, int r) {int n nums.size();int ans Integer.MAX_VALUE;int[] pre new int[n1];for(int i0; in; i){pre[i1] pre[i] nums.get(i);}//枚举右端点[i-r, i-l] ~ i//s[i-r, i-l] si, 二分枚举最接近si的值 TreeMapInteger, Integer map new TreeMap();for(int il, j0; in; i){map.merge(pre[i-l], 1, Integer::sum);// 错误写法// 当lr时会出错没有计算当前子数组的大小// if(i-r 0){// map.merge(pre[i-r], -1, Integer::sum);// if(map.get(pre[i-r])0) map.remove(pre[i-r]);// } Integer res map.lowerKey(pre[i]);if(res ! null)ans Math.min(ans, pre[i]-res);if(i-r 0){map.merge(pre[i-r], -1, Integer::sum);if(map.get(pre[i-r])0) map.remove(pre[i-r]);} }return ans Integer.MAX_VALUE ? -1 : ans;} } 二 3365. 重排子字符串以形成目标字符串 本题直接暴力哈希使用哈希表统计字符串 s 中分割成 k 个等长的子字符串再看 t 中分割出的 k 个等长子字符串是否与字符串 s 完全相同。 代码如下 class Solution {public boolean isPossibleToRearrange(String s, String t, int k) {MapString, Integer map new HashMap();int n s.length();for(int in/k; in; in/k){map.merge(s.substring(i-n/k, i), 1, Integer::sum);}for(int in/k; in; in/k){String x t.substring(i-n/k, i);map.merge(x, -1, Integer::sum);if(map.get(x) 0) map.remove(x);if(map.getOrDefault(x, 0) 0) return false; }return map.size() 0;} } 三3366. 最小数组和 本题数据范围较小直接使用dp暴力求解先找与原问题相同的子问题从前往后遍历对于第 i 个数来说 不执行任何操作剩下变成求 [i1n] 这些数进行 x 次操作1y 次操作2后的最小元素和执行操作1剩下变成求 [i1n] 这些数进行 x-1 次操作1y 次操作2后的最小元素和执行操作2剩下变成求 [i1n] 这些数进行 x 次操作1y-1 次操作2后的最小元素和执行操作1和操作2剩下变成求 [i1n] 这些数进行 x-1 次操作1y-1 次操作2后的最小元素和 定义 dfs(ixy)对 [in] 进行 x 次操作1y 次操作2后的最小元素和对于 nums[i] 进行分类讨论 不执行任何操作剩下变成求 [i1n] 这些数进行 x 次操作1y次操作2后的最小元素和即dfs(i1xy) nums[i]执行操作1剩下变成求 [i1n] 这些数进行 x-1 次操作1y次操作2后的最小元素和即dfs(i1x-1y) nums[i]1)/2执行操作2剩下变成求 [i1n] 这些数进行 x 次操作1y-1次操作2后的最小元素和即dfs(i1xy-1) nums[i] - k执行操作1和操作2剩下变成求 [i1n] 这些数进行 x-1 次操作1y-1次操作2后的最小元素和即 dfs(i1x-1y-1) (nums[i] - k 1)/2同时操作时先2后1更优(nums[i]1)/2 - k (nums[i]-k1)/2 代码如下 class Solution {public int minArraySum(int[] nums, int k, int op1, int op2) {int n nums.length;memo new int[n][op11][op21];for (int[][] mat : memo) {for (int[] row : mat) {Arrays.fill(row, -1); // -1 表示没有计算过}}return dfs(0, op1, op2, k, nums);}int[][][] memo;int dfs(int i, int x, int y, int k, int[] nums){if(i nums.length) return 0;if(memo[i][x][y] ! -1) return memo[i][x][y];int res dfs(i1, x, y, k, nums) nums[i];if(x 0)res Math.min(res, dfs(i1, x-1, y, k, nums) (nums[i]1)/2);if(y 0 nums[i] k){res Math.min(res, dfs(i1, x, y-1, k, nums) nums[i] - k);if(x 0){int t (nums[i]1)/2 k ? (nums[i]1)/2 - k : (nums[i]-k1)/2;res Math.min(res, dfs(i1, x-1, y-1, k, nums) t);}}return memo[i][x][y] res;} } 递推代码 class Solution {public int minArraySum(int[] nums, int k, int op1, int op2) {int n nums.length;int[][][] f new int[n1][op11][op21];for(int in-1; i0; i--){for(int x0; xop1; x){for(int y0; yop2; y){f[i][x][y] f[i1][x][y] nums[i];if(x 0)f[i][x][y] Math.min(f[i][x][y], f[i1][x-1][y] (nums[i]1)/2);if(y 0 nums[i] k){f[i][x][y] Math.min(f[i][x][y], f[i1][x][y-1] nums[i] - k);if(x 0){int t (nums[i]1)/2 k ? (nums[i]1)/2 - k : (nums[i]-k1)/2;f[i][x][y] Math.min(f[i][x][y], f[i1][x-1][y-1] t);}}}}}return f[0][op1][op2];} } 四3367. 移除边之后的权重最大和 代码如下 class Solution {public long maximizeSumOfWeights(int[][] edges, int k) {int n edges.length;Listint[][] g new ArrayList[n1];Arrays.setAll(g, e - new ArrayList());for(int[] e : edges){int x e[0], y e[1], val e[2];g[x].add(new int[]{y, val});g[y].add(new int[]{x, val});}long[] f dfs(0, -1, k, g);return f[1];//{s, sfirst} f[1] f[0]}long[] dfs(int x, int fa, int k, Listint[][] g){PriorityQueueLong que new PriorityQueue();//默认最小堆long s 0;for(int[] y : g[x]){if(y[0] fa) continue;long[] f dfs(y[0], x, k, g);//选/不选 x-y 这条边 f[0]y[1]/f[1]//选/不选 怎么在至多 选K个边 的情况下使其最大//先把不选的值全部求和在求出如果选相较于不选提升了多少//对其进行排序选择k个提升最大的if(que.size() k que.peek() f[0] y[1] - f[1]){que.poll();}if(que.size() k f[0] y[1] - f[1] 0){que.offer(f[0] y[1] - f[1]);}s f[1];}long first que.size() k ? que.poll() : 0;while(!que.isEmpty()){s que.poll();}return new long[]{s, sfirst};} }
http://www.hkea.cn/news/14353044/

相关文章:

  • 网站非法收录用户信息百度竞价点击神器
  • 普洱网站建设wordpress 缓慢
  • 设计网站大全扣西湖南岚鸿首选wordpress怎么启用sll证书
  • 在百度上怎么建立网站吗网站怎样恶意刷
  • 网站需求建设书重庆市建设节能中心网站
  • 做酒网站重庆市建设工程信息网安全监督特种人员
  • 代做网站 猪八戒网苏州cms模板建站宝
  • 太原网站优化排名企业宣传手册封面模板
  • 如何搭建静态网站小程序制作定制开发
  • 商城免费建站系统网站界面尺寸大小
  • 下载做蛋糕网站二级域名租用
  • 铜仁网站建设网址搭建wordpress
  • 济南 营销型网站网站建设科技有限公司
  • 深圳网站制作建设阳春市住房规划建设局网站
  • seo优化网站优化wordpress上一篇插件
  • 西安手机网站制作android开发软件下载
  • 广西桂林十大特产宁波本地抖音seo推广
  • 做网站的是什么工程师怎么创建网站的快捷方式
  • 12建网站网站建设价格表
  • 高新区网站建设 意义广州做商城网站
  • 恒信在线做彩票的是什么样的网站赣州网站开发公司
  • 一嗨租车网站建设的功能特色市级部门网站建设自评报告
  • 西安市地铁建设指挥部网站贵州省住房和城乡建设厅查询网站首页
  • 制作网站作业wordpress页面混乱
  • 网站贴子推广怎么做网页链接怎么放到桌面上
  • wordpress 适合外贸站广州seo公司品牌
  • 网站建设会计分录怎么做给人做网站网站
  • 甘肃两学一做网站建筑公司做网站的好处
  • 免费网站建设模版云盘创建网站的软件
  • 冠辰网站建设企业培训平台