js-challenges icon indicating copy to clipboard operation
js-challenges copied to clipboard

打印出 1~10000 以内的对称数

Open Sunny-117 opened this issue 3 years ago • 6 comments

Sunny-117 avatar Nov 03 '22 08:11 Sunny-117

function isSymmetryNum(start,end){
    for(let i = start; i < end + 1; i++){
        let str = String(i);
        if(str.length <= 1) continue;
        if(str.split("").reverse().join("") === str){
            console.log(i);
        }
    }
}
isSymmetryNum(1,10000)

lxy-Jason avatar Nov 06 '22 09:11 lxy-Jason

function getDuicheng() {
  const res = [];
  for (let i = 1; i < 10; i++) {
    res.push(i);
    res.push(i * 11);
    for (let j = 0; j < 10; j++) {
      res.push(i * 101 + j * 10); //101-999
      res.push(i * 1001 + j * 110); //1001-9999
    }
  }
  return res;
}

weirong111 avatar Nov 06 '22 14:11 weirong111

const res = [];
function getSymNum() {
  for (let i = 1; i <= 10000; i++) {
    let str1 = i + "";
    if (judgeSym(str1)) res.push(i);
  }
}
function judgeSym(str) {
  let l = 0,
    r = str.length - 1;
  while (l < r) {
    if (str[l] !== str[r]) return false;
    r--;
    l++;
  }
  return true;
}
getSymNum();
console.log(res);

简单的双指针

bearki99 avatar Feb 11 '23 12:02 bearki99

const isSymmetryNum = (start, end) => { const res = []

for (let i = start; i < end; i++) { const toStr = String(i) const reverse = [...toStr].reverse().join('') if (toStr === reverse) { res.push(i) } }

return res }

MoYuanJun avatar Mar 16 '23 05:03 MoYuanJun

function symmetric(num) {
    const result = [];

    const nums = Array.from({ length: num }, (_, i) => 1 + i);
    while (nums.length > 0) {
        const lastNum = nums.pop();
        if (String(lastNum).split("").reverse().join("") === String(lastNum)) {
            result.push(lastNum);
        }
    }
    return result;
}

fangbw17 avatar Mar 16 '23 06:03 fangbw17

const getSymmetryNum = (num) => {
  const rs = [];
  const isSymmetryNum = (num) => {
    const str = num.toString();
    return str === str.split('').reverse().join('');
  }
  for(var i = 0; i <= num; i++) {
    if(isSymmetryNum(i)) {
      rs.push(i);
    }
  }
  return rs;
}

console.log(getSymmetryNum(10000));

Windseek avatar Nov 12 '24 08:11 Windseek