5 BÀI TOÁN LẬP TRÌNH MÀ BẤT KỂ LẬP TRÌNH VIÊN NÀO CŨNG CẦN CÓ KHẢ NĂNG GIẢI QUYẾT TRONG VÒNG 1 GIỜ

Ngày đăng: Thứ Hai, 18/03/2019

Người viết: Vu Long

Problem 1

Viết 3 hàm tính tổng của các số trong 1 dãy cho trước sử dụng for-loop, while-loop, và để quy.

Problem 2

Viết 1 hàm kết hợp 2 dãy bằng cách xen kẽ các phần tử, Ví dụ: cho 2 dãy [a, b, c] và [1, 2, 3], hàm trả về [a, 1, b, 2, c, 3].

Problem 3

Viết 1 hàm in ra 100 số Fibonacci đầu tiên. (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …)

Problem 4

Viết 1 hàm nhận vào 1 dãy các số nguyên không âm, sắp xếp chúng sao cho hợp thành 1 số lớn nhất có thể. Ví dụ nhận vào dãy [40, 1, 99, 12], hàm trả về 9940121.

Problem 5

Cho 1 dãy các số 1, 2, 3, 4, …, 9. Thêm các dấu +, – vào giữa các số này sao cho kết quả của phép tính = 100. Ví dụ 1 + 2 + 34 – 5 + 67 – 8 + 9 = 100. Viết 1 hàm in ra tất cả các cách thêm dấu.

Đáp án

Problem 1, 2, 3 khá đơn giản nên mình chỉ viết lời giải cho problem 4 và 5.

 

 

// Problem 4

function solution4(list){

  list = list.slice();

  return list.sort(function(x, y){

    return (x+''+y < y+''+x) ? 1 : -1;

  }).join('');

}

 

// Problem 5

function solution5(){

  // first calculate all possible combinations

  // of numbers and operators

  var mem = ["1"], combos;

  for(var i = 2; i <= 9; i++){

    combos = [];

    mem.forEach(function(x){

      combos.push(x + i, x + " +" + i, x + " -" + i);

    });

    mem = combos;

  }

  // Now filter out the ones that equal 100

  return combos.filter(function(combo){

    // split a combo into numbers, sum them using reduce

    return combo.split(" ").reduce(function(x,y){

      return x/1+y/1;

    }) == 100; // and check if the sum is 100

  })

}

 

I’m sure there are better solutions to these problems. I’d love to see them.

Techtalk via Viblo

CÁC TIN TỨC, SỰ KIỆN KHÁC


BÍ QUYẾT THÀNH CÔNG TRONG NGÀNH IT KHÔNG PHẢI TỪ TẤM BẰNG ĐẠI HỌC
Bí quyết thành công trong ngành IT không phải từ tấm bằng đại học
Thứ Hai, 22/04/2019 bởi Nguồn: dantri.com.vn

Tôi không khuyên bạn bỏ học đại học giống như Bill Gates, nhưng với một ngành đặc biệt như công nghệ thông tin, bí quyết thành công không phải là tấm bằng đại học, mà là một điều khác…


TÓM TẮT CON ĐƯỜNG TRỞ THÀNH LẬP TRÌNH VIÊN
Tóm tắt con đường trở thành Lập Trình Viên
Thứ Năm, 18/04/2019 bởi Nguồn: topdev.vn

Tóm tắt con đường trở thành Lập Trình Viên. Lập trình viên là ai?


9 ỨNG DỤNG TUYỆT VỜI ĐƯỢC VIẾT BẰNG REACT NATIVE
9 ứng dụng tuyệt vời được viết bằng React Native
Thứ Tư, 17/04/2019 bởi Techtalk via Netguru

Ý tưởng tạo ứng dụng chỉ sử dụng một kiểu mẫu cho tất cả các nền tảng có vẻ không thực tế chút nào. Tuy nhiên, React Native, mặc dù chưa thật sự hoàn thiện, nhưng cho phép đẩy nhanh quá trình xây dựng các ứng dụng trên các nền tảng khác nhau, nhờ khả năng sử dụng lại hầu hết các code giữa chúng. Không có gì ngạc nhiên khi nhiều công ty sử dụng React Native cho các ứng dụng trên thiết bị di động của họ. Dưới đây là danh sách những công ty đã tận dụng framework này trong sản xuất.


SINH VIÊN CÔNG NGHỆ THÔNG TIN CHƯA ĐÁP ỨNG YÊU CẦU
Sinh viên công nghệ thông tin chưa đáp ứng yêu cầu
Thứ Năm, 04/04/2019 bởi Theo Vn.Express

Theo Bộ trưởng Giáo dục, để có được nguồn nhân lực chất lượng cao, nhà trường phải đi từ chương trình đào tạo, thiết kế chương trình từ nhu cầu của thị trường, tính đến những thay đổi về khoa học công nghệ, bởi chưa khi nào khoa học công nghệ thay đổi nhanh như bây giờ.


10 WEBSITE CODE MẪU CHUYÊN NGHIỆP DÀNH CHO LẬP TRÌNH VIÊN
10 website code mẫu chuyên nghiệp dành cho lập trình viên
Thứ Sáu, 29/03/2019 bởi Nguồn: Quantrimang

Hầu hết các lập trình viên đều phải thực hiện rất nhiều nhiệm vụ khác nhau. Biết nơi có thể tìm những mẫu code miễn phí trực tuyến sẽ giúp ích cho việc tìm hiểu và tạo các ứng dụng.


HỌC LẬP TRÌNH CẦN “VẠCH XUẤT PHÁT” CHUẨN
Học lập trình cần “vạch xuất phát” chuẩn
Thứ Tư, 27/03/2019 bởi Theo Dân Trí

Sự phát triển của công nghiệp 4.0 khiến lập trình trở thành ngành hot, và nhà tuyển dụng sẵn sàng trả mức lương cao gấp nhiều lần để săn đón nhân tài. Tuy nhiên đa số sinh viên ra trường chưa đáp ứng được yêu cầu, do chưa có định hướng chính xác trước khi theo học ngành này.

XEM THÊM


KẾT NỐI VỚI CHÚNG TÔI