• Matlab Cody (1)


    Size refers to the number of nodes in a parse tree. Generally speaking, you can think of size as code length.

    What is Cody? see here

    Problem 1. Times 2 - START HERE

    function y = times2(x)
      y = bitshift(x,1); % size=13
    end
    function y = times2(x)
      y = 2*x; % size=12 (same as y=x+x)
    end
    function ans = times2(x)
      2*x; % size=10 (best)
    end

    Problem 2. Make the vector [1 2 3 4 5 6 7 8 9 10]

    function x = oneToTen
      x = [1 2 3 4 5 6 7 8 9 10]; % size=20
    end
    function x = oneToTen
      x = 1:10; % size=11
    end
    function ans = oneToTen
      1:10; % size=9 (best)
    end
    function ans = oneToTen
      colon(1,10); % size=10
    end
    function ans = oneToTen
      linspace(1,10,10); % size=11
    end
    function x = oneToTen
      x = cumsum(ones(1,10)); % size=14
    end

    Problem 3. Find the sum of all the numbers of the input vector

    function ans = vecsum(x)
       sum(x); % size=10 (best)
    end
    function y = vecsum(x)
       y = sum(x(:)); % size=14 (useful for matrix)
     end
    function y = vecsum(x)
       n = length(x);
       y = 0; 
       for i = 1:n
            y = y + x(i); % size=30
       end
     end

    Problem 4. Make a checkerboard matrix

    function a = checkerboard(n)
      a(1:2:n,1:2:n) = 1;
      a(2:2:n,2:2:n) = 1;  % size=36
    end
    function ans = checkerboard(n)
      invhilb(n)>0; % size=12 (best)
    end
    function a = checkerboard(n)
      a1 = repmat([1,0;0,1],n,n);
      a = a1(1:n,1:n);  % size=31
    end
    function a = checkerboard(n)
      for i=1:n
        for j=1:n
          a(i,j)=mod(i+j+1,2); % size=32
        end;
      end;
    end

    Problem 5. Triangle Numbers

    function ans = triangle(n)
     sum(1:n); % size=12 (best)
    end
    function ans = triangle(n)
     n*(n+1)/2; % size=15
    end

    Problem 6. Select every other element of a vector

    function ans = everyOther(x)
      x(1:2:end); % size=15 (best)
    end
    function ans = everyOther(x)
      x(1:2:length(x)); % size=16 (same as x(1:2:numel(x)))
    end
    function x = everyOther(x)
      x(2:2:end) = []; % size=18
    end

    ps: 对于m-by-n的矩阵x,numel(x)=m*n, length(x)=n.

    Problem 7. Column Removal

    function B = column_removal(A,n)
      A(:,n) = [];
      B = A; % size=19
    end
    function A = column_removal(A,n)
      A(:,n) = []; % size=15
    end
    function A = column_removal(A,n)
      A(:,n) = ''; % size=14 (best)
    end
    function ans = column_removal(A,n)
      A(:,[1:n-1,n+1:end]); % size=24
    end
    function ans = column_removal(A,n)
      A(:,1:end ~= n); % size=17
    end

    Problem 8. Add two numbers

    function ans = add_two_numbers(a,b)
      a+b; % size=11
    end

    Problem 9. Who Has the Most Change?

    function a = most_change(a)
      [~,a]=max(a*[.25;.05;.1;.01]); % size=24
    end
    function b = most_change(a)
      [~,b]=max(sum(bsxfun(@times,a,str2num('[0.25,0.05,0.10,0.01]')),2)); % size=24
    end
    function b = most_change(a)
      total = a * [25 5 10 1]';
      b = find(total==max(total)); % size=28
    end
    function b = most_change(a)
      [~,b] = max(a * str2num('[0.25; 0.05; 0.1; 0.01]')); % size=18 (best)
    end

    Problem 10. Determine whether a vector is monotonically increasing

    function ans = mono_increase(x)
      isequal(unique(x), x); % size=13 (best)
    end
    function ans = mono_increase(x)
      mean(diff(x)>0)==1 | isempty(diff(x))==1; % size=24
    end
    function ans = mono_increase(x)
      all(diff(x)>0); % size=14
    end

    Problem 26. Determine if input is odd

    function ans = is_it_odd(n)
     bitand(n,1); % size=11 (best)
    end
    function ans = is_it_odd(n)
      mod(n,2); % size=11 (best)
    end
    function ans = is_it_odd(n)
      rem(n,2); % size=11 (best)
    end
    function ans = is_it_odd(n)
      1-(round(n/2)==n/2); % size=19
    end
  • 相关阅读:
    CDH5.16.1集群企业真正离线部署
    创建node节点上kubeconfig文件
    二进制文件安装安装flannel
    二进制文件安装安装etcd
    二进制文件安装k8s所需要的证书服务
    快速安装k8s,版本为1.13.8
    利用dockerfile 安装一个nginx-1.14.1
    在非spring管理的类中,使用spring管理的类
    远程连接MySQL错误:Can't connect to MySQL server (10060)
    Java继承与多态
  • 原文地址:https://www.cnblogs.com/youth0826/p/2590255.html
Copyright © 2020-2023  润新知