20160526

作者: 嘘嘘乐 | 来源:发表于2016-05-31 11:15 被阅读12次

    明天不用带饭啦

    临睡前无事关注了下大前端群然后自作自受陷入了javascript弱类型的坑。ref👈
    解题思路比较简单两个指针一左一右夹击,左边遇到非*停下,右边遇到*停下,交换(从伪代码到代码还有101次修改是我)。

    var sort = function(array) {
    
      for(let i = 0, j = array.length-1; i<j; ) {
        while (i < j && array[i] === '*') {
          i++;
        }
        while (i < j && array[j] !== '*') {
          j--;
        }
        if (i < j) {
          [array[i++], array[j--]] = [array[j], array[i]];
        }
      }
      return array;
    };
    

    就是遇到了交换的坑。CC++写函数是可以选择传值还是传址。一个交换函数

    void swap(int *p1, int *p2)
    {
        int temp = 0; 
        temp = *p1;
        *p1 = *p2;
        *p2 = temp;
    }
    

    到javascript里就呵呵了。哪有传递引用?搜了一遍没找到太晚了先记下,投机取巧用了ES6解构赋值[a, b] = [b, a];所以最后连一个简单的交换函数都实现不了我要去睡觉了。。。


    早上又提了好些代码,看起来有些以为写得短就是写得好呢。不懂算法瞎搞
    当然我之前也会投机取巧缩短行数搞得别人看不懂代码。不过写业务代码能短些倒是好事,反正我们也不像王小波写的按代码行数算钱。
    那么至此就推荐一个算法过程的东西吧👉AlgorithmVisualizer

    相关文章

      网友评论

          本文标题:20160526

          本文链接:https://www.haomeiwen.com/subject/wlvcdttx.html