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

化学试剂网站建设新手怎么开婚庆公司

化学试剂网站建设,新手怎么开婚庆公司,云南建设工程招投标信息网,怎样在工商局网站做公示6354. 找出数组的串联值 题意 将数组首尾元素接在一起,就是串联值。 串联之后删除,如果只剩下一个元素,加上这个元素即可 双指针,从首和尾向中间移动即可 code **注意:**用 long 没看题目用了 int wa了一发 clas…

6354. 找出数组的串联值

题意

将数组首尾元素接在一起,就是串联值。
串联之后删除,如果只剩下一个元素,加上这个元素即可

双指针,从首和尾向中间移动即可

code

**注意:**用 long
没看题目用了 int wa了一发

class Solution {public long findTheArrayConcVal(int[] nums) {int n = nums.length;int l = 0, r = n - 1;long ans = 0;while (l < r) {String s = "";s += nums[l++];s += nums[r--];ans += Integer.parseInt(s);}if (l == r) ans += nums[l];return ans;}
}

6355. 统计公平数对的数目

题意

给定 lower 和 upper 找到 数组中 两个不同的数字,如果满足 lower <= nums[i] + nums[j] <= upper 就是一组公平数对。
求公平数对的个数

我们枚举每个 nums[i]lower <= nums[i] + nums[j] <= upper 变形为:lower - nums[i] <= nums[j] <= upper - nums[i]
所以我们二分找到 第一个大于 upper - nums[i] 的位置,和 第一个 大于等于 lower- nums[i] 的位置前者减去后者即可得到差。
对应的 c++中的函数就是 uppper_boundlower_bound,Java中么有这俩函数,我们自己写一个
并且,我们求的是数对,有重复的,为防止重复,我们只搜索下标为 i 的数的 左边的数,也避免了 i 被统计进去的情况

code

class Solution {public long countFairPairs(int[] nums, int lower, int upper) {long ans = 0;int n = nums.length;Arrays.sort(nums);// lower <= nums[i] + nums[j] <= upper// 枚举 nums[i] 找 j// lower - nums[i] <= nums[j] <= upper - nums[i]for (int i = 0; i < n; i++) { int a = i, b = i;// upper_boundint l = 0, r = i - 1;while (l < r) {int mid = l + r >> 1;if (nums[mid] > upper - nums[i]) r = mid;else l = mid + 1;}if (nums[l] > upper - nums[i]) a = l;// a = l;// if (nums[a] <= upper - nums[i]) a = i;// lower_boundl = 0; r = i - 1;while (l < r) {int mid = l + r >> 1;if (nums[mid] >= lower - nums[i]) r = mid;else l = mid + 1;}if (nums[l] >= lower - nums[i]) b = l;// b = l;// if (nums[b] < lower - nums[i]) b = i;ans += a - b;}return ans;}}

6356. 子字符串异或查询

题意

要满足 val ^ firsti == secondi 等号两边同时 ^ first 得到 val = first ^ second
所以我们只要找 queries数组中的 first 和 second 异或值时候存在于 s 中

因为 异或并不会增加二进制位数,0 <= firsti, secondi <= 109,小于 2^30 - 1,最多就 31 位,所以枚举的时候只需要枚举字符串的连续 30 个即可

s 是 1e4 时间复杂度最多就 1e4 * 30 = 3e5 足够的
后面枚举queries是 1e5
时间复杂度 = 4e5

用 map 预处理,存储 s 的二进制子串出现过的 十进制数字,以及对应的 边界 ,要求存储长度最小的子串

code

class Solution {public int[][] substringXorQueries(String s, int[][] queries) {HashMap<Integer, int[]> mp = new HashMap<>();int n = s.length();char[] c = s.toCharArray();for (int i = 0; i < n; i++) {int x = 0;for (int j = i; j < i + 30 && j < n; j++) { // 计算子串x = (x << 1) | (c[j] - '0');if (!mp.containsKey(x)  || (j - i < mp.get(x)[1] - mp.get(x)[0])) {mp.put(x, new int[]{i, j});}}}ArrayList<int[]> a = new ArrayList<>();for (var pr : queries) {int t = pr[0] ^ pr[1];if (mp.getOrDefault(t, null) != null)a.add(new int[]{mp.get(t)[0], mp.get(t)[1]});else a.add(new int[]{-1, -1});}int len = a.size();int[][] ans = new int[len][2];for (int i = 0; i < len; i++) {ans[i] = a.get(i);}return ans;}}
http://www.yayakq.cn/news/317482/

相关文章:

  • 湛江建站网络公司wordpress swf插件
  • 网站栏目怎么做301定向赣州网站设计哪家强
  • 厦门网站快速排名优化男性早些泄吃什么药可以根治
  • 网页设计工具一般有哪几种建站之星网站 seo优化
  • 家居网站建设哪家好网站设计制作价钱低
  • 营销型网站建设公司哪里有wordpress换轮播图的
  • 没有公众号建微信网站网站模板代码怎么写
  • 浙江省建设通网站湖南厦门网站优化
  • 简要描述创建商务站点的商务WordPress如何加代码
  • 网站建设 技术团队廊坊学校网站建设
  • 锦溪网站建设小程序开发外包
  • 网页设计与网站架设软件开发报价明细
  • 做好档案整理及网站建设做电脑网站起什么名字
  • php违章网站开发加快政务网站群建设管理
  • 天王手表官方网站网站建设步骤流程详细介绍
  • 男女做特别污污的事情网站网络推广赚钱
  • 教育网站改版方案直播视频在线
  • 做自己的网站要花多少钱中国国音电商平台官网
  • 设计的商城网站建设剪辑师培训班有用吗
  • 好的设计网站网站备案如何查询
  • 优化网站的方法有哪些实木餐桌椅网站建设公司
  • 网站建设代码实例WordPress手机访问乱码
  • 太原网站制作优化seo公司专业做营销网站
  • 网站设计做图工具网址域名查询ip地址
  • 微信怎么做网站无极商城网站建设
  • 淘宝网站是谁做的好处最近的男科医院是哪家医院
  • 建网站多少钱建个网站需要怎么做国内模板建站公司
  • 桥梁建设杂志网站一个公司做两个网站可以吗
  • 郑州网站建设一汉狮网络建设网站的公司兴田德润实力强
  • 网站建设响应技术展馆展示设计公司排名