JavaScript Basic: Tập thể dục-90 với giải pháp
Viết một chương trình JavaScript để tìm ra yếu tố lớn nhất của một số nguyên nhất định.
Trình bày bằng hình ảnh:
Giải pháp mẫu:
Mã HTML:
Find the kth greatest element of a given array of integers.
Mã JavaScript:
function Kth_greatest_in_array[arr, k] {
for [var i = 0; i < k; i++] {
var max_index = i,
tmp = arr[i];
for [var j = i + 1; j < arr.length; j++] {
if [arr[j] > arr[max_index]] {
max_index = j;
}
}
arr[i] = arr[max_index];
arr[max_index] = tmp;
}
return arr[k - 1];
}
console.log[Kth_greatest_in_array[[1,2,6,4,5], 3]]
console.log[Kth_greatest_in_array[[-10,-25,-47,-36,0], 1]]
Đầu ra mẫu:
4 0
Sơ đồ:
Phiên bản ES6:
function Kth_greatest_in_array[arr, k] {
for [let i = 0; i < k; i++] {
let max_index = i;
const tmp = arr[i];
for [let j = i + 1; j < arr.length; j++] {
if [arr[j] > arr[max_index]] {
max_index = j;
}
}
arr[i] = arr[max_index];
arr[max_index] = tmp;
}
return arr[k - 1];
}
console.log[Kth_greatest_in_array[[1,2,6,4,5], 3]]
console.log[Kth_greatest_in_array[[-10,-25,-47,-36,0], 1]]
Bản thử trực tiếp:
Xem bút JavaScript-Basic-exercise-90 của W3Resource [@W3Resource] trên Codepen.
Đóng góp mã và nhận xét của bạn thông qua Disqus.
Trước đó: Viết chương trình JavaScript để kiểm tra xem có thể thay thế $ trong một biểu thức đã cho x $ y = z bằng một trong bốn dấu hiệu +, -, * hoặc / để có được biểu thức chính xác hay không. Tìm tổng tối đa có thể của một số số K liên tiếp của nó [các số theo nhau theo thứ tự.] Của một loạt các số nguyên dương nhất định. Write a JavaScript program to
check whether it is possible to replace $ in a given expression x $ y = z with one of the four signs +, -, * or / to obtain a correct expression.
Next: Write a JavaScript program to find the maximum possible sum of some of its k consecutive numbers [numbers that follow each other in order.] of a given array of positive integers.
JavaScript: Lời khuyên trong ngày
Chỉ mục cụ thể trong một chuỗi
console.log['I want burger'[0]];
Để có được một ký tự trên một chỉ mục cụ thể trong một chuỗi, bạn có thể sử dụng ký hiệu khung. Ký tự đầu tiên trong chuỗi có chỉ mục 0, v.v. Trong trường hợp này, chúng tôi muốn lấy phần tử nào chỉ mục là 0, ký tự "i ', được ghi lại. Lưu ý rằng phương pháp này không được hỗ trợ trong IE7 trở xuống. Trong trường hợp đó, sử dụng .charat []
Note that this method is not supported in IE7 and below. In that case, use .charAt[]
Tham khảo: //bit.ly/3jfrbje
Làm việc trên LeetCode này: Yếu tố lớn nhất KTH.
Đây là mã JS của tôi:
var findKthLargest = function[n, k] {
// largest at 1st
global.arr = new Array[k].fill[false];
// loop n
for[let i=0; i=0; i--] {
// not set OR > curr, < prev
if[arr[i] === false || n > arr[i]] {
console.log['before s', arr];
shift[i, n];
return; // need to get out now, otherwise keep overwriting
console.log['after s', arr];
}
}
}
// n single #
var shift = function[ind, n] {
// n > arr[ind]
// e.g. 6 in, [3, 4, 5, 7], ind == 2,
// 7 intact, 4 overwrite 3, 5 overwrite 4, 6 overwrite 5
let i;
for[i=1; i