![](https://img-blog.csdnimg.cn/20210425185535224.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
周赛复盘
周赛、双周赛
royalpioneer
这个作者很懒,什么都没留下…
展开
-
Javascript踩坑记录
在使用JS进行程序设计时,往往最终的结果会事与愿违,我将导致这种情况的因素称为坑点。1、Array.prototype.sort([fn])需要对数组原地稳定排序时,可以使用 arr.sort(fn), 但别忘了指定排序规则函数fn(a,b),否则会按元素的unicode码大小升序排序,如[1,2,10] => [1,10,2]2、Number类型运算js中无整数,只有IEEE754标准的双精度64位浮点数,因此做加减乘除运算的时候会很坑:// 第一个坑点0.1 + 0.2 不等于 0.3原创 2021-04-25 14:52:46 · 431 阅读 · 0 评论 -
21/09/12-LC周赛记录
T1: 5867. 反转单词前缀模拟即可,定义idx存分界点索引,如果索引越界,则完整返回;否则,使用双指针翻转前缀,即可T2: 5868. 可互换矩形的组数思路是,将数组每项进行约分,记作 val, 并计数,记作cnt,创建map<val, cnt>, 最后遍历map,使用组合数公式C(n, m)计算并求和即可T2.1: 约分使用欧几里得算法gcd(a,b)计算分子分母的最大公约数c,再分子分母两数同除c即可完成约分function gcd(a,b) { return b===原创 2021-09-12 18:03:31 · 145 阅读 · 0 评论 -
第52场双周赛
5742. 将句子排序/** * @param {string} s * @return {string} */var sortSentence = function(s) { let arr = s.split(" "); let map = new Map(); for(let w of arr) { let [num] = w.split("").splice(-1,1); let tmp = w.split("");原创 2021-05-16 09:34:02 · 59 阅读 · 0 评论 -
第 51 场双周赛
将所有数字用字符替换/** * @param {string} s * @return {string} */var replaceDigits = function(s) { let arr = s.split(""); for(let i=1;i<arr.length;i+=2) { arr[i] = String.fromCharCode(arr[i-1].charCodeAt(0) + +arr[i]); } return ar.原创 2021-05-02 08:03:54 · 66 阅读 · 0 评论 -
第 238 场周赛
【进制运算】5738. K 进制表示下的各位数字总和/** * @param {number} n * @param {number} k * @return {number} */var sumBase = function(n, k) { let res = 0; while(n) { res += n%k; n= Math.floor(n/k); } return res;};【第二类滑窗】5739. 最高频元素的频数原创 2021-04-25 15:27:54 · 72 阅读 · 0 评论 -
第 236 场周赛
1822. 数组元素积的符号/** * @param {number[]} nums * @return {number} */var arraySign = function(nums) { let cnt = 0; for(let i=0;i<nums.length;i++){ if(nums[i]===0) return 0; if(nums[i]<0) cnt++; } if(cnt%2===0) ret原创 2021-04-19 11:54:31 · 45 阅读 · 0 评论 -
第 237 场周赛
1832. 判断句子是否为全字母句/** * @param {string} sentence * @return {boolean} */var checkIfPangram = function(sentence) { let set = new Set(); let arr = sentence.split(""); for(let i=0;i<arr.length;i++) { set.add(arr[i]); } r原创 2021-04-19 11:48:37 · 38 阅读 · 0 评论 -
第50场双周赛
1827.最少操作使数组递增/** * @param {number[]} nums * @return {number} */var minOperations = function(nums) { let res = 0; for(let i=1;i<nums.length;i++) { if(nums[i] <= nums[i-1]) { res+= (nums[i-1] - nums[i] +1);原创 2021-04-19 11:41:19 · 55 阅读 · 0 评论