- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
%%% O(n log n)
nub([]) -> [];
nub([H|T]) ->
case lists:member(H, T) of
true ->
nub(T);
false ->
[H|nub(T)]
end.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
%%% O(n log n)
nub([]) -> [];
nub([H|T]) ->
case lists:member(H, T) of
true ->
nub(T);
false ->
[H|nub(T)]
end.
кто-то услышал про логлинейный nub, и решил, что у него тоже получится
+2
case ((((parametr[3, 1] - parametr[1, 1]) / parametr[4, 2] = (parametr[3, 2] - parametr[1, 2]) / parametr[4, 2]) and ((parametr[3, 2] - parametr[1, 2]) / parametr[4, 2] = (parametr[3, 3] - parametr[1, 3]) / parametr[4, 3])) xor
((parametr[4, 1] = 0) and (parametr[1, 1] = parametr[2, 1]) and (parametr[2, 1] = parametr[3, 1]) and ((parametr[3, 2] - parametr[1, 2]) / parametr[4, 2] = (parametr[3, 3] - parametr[1, 3]) / parametr[4, 3])) xor
((parametr[4, 2] = 0) and (parametr[1, 2] = parametr[2, 2]) and (parametr[2, 2] = parametr[3, 2]) and ((parametr[3, 1] - parametr[1, 1]) / parametr[4, 1] = (parametr[3, 3] - parametr[1, 3]) / parametr[4, 3])) xor
((parametr[4, 3] = 0) and (parametr[1, 3] = parametr[2, 3]) and (parametr[2, 3] = parametr[3, 3]) and ((parametr[3, 1] - parametr[1, 1]) / parametr[4, 1] = (parametr[3, 2] - parametr[1, 2]) / parametr[4, 2])) xor
((parametr[4, 3] <> 0) and (parametr[4, 1] = 0) and (parametr[4, 2] = 0) and (parametr[3, 1] = parametr[2, 1]) and (parametr[3, 2] = parametr[2, 2])) xor
((parametr[4, 2] <> 0) and (parametr[4, 1] = 0) and (parametr[4, 3] = 0) and (parametr[3, 1] = parametr[2, 1]) and (parametr[3, 3] = parametr[2, 3])) xor
((parametr[4, 1] <> 0) and (parametr[4, 2] = 0) and (parametr[4, 3] = 0) and (parametr[3, 2] = parametr[2, 2]) and (parametr[3, 3] = parametr[2, 3])) xor
((parametr[4, 1] = 0) and (parametr[4, 2] = 0) and (parametr[4, 3] = 0))) of true:
writeln('Все точки лежат на одной прямой. Такой треугольник не существует.');
Проверка треугольника в декартовой системе координат
+2
'пыщь' instanceof String //false
Object('пыщь') instanceof String //true
(function(){}) instanceof Function //true
Object(function(){}) instanceof Function //true
+2
entry.number = $('.info', this).text().split(';')[1].slice($('.info', this).text().split(';')[1].search(':'), $('.info', this).text().split(';')[1].search('/')).trim()
Регэкспы не нужны.
+2
Давайте устроим холиворчик - скриптинг на винде против скриптинга на линупсе, или баш против помершелла
+2
$query = "SELECT * FROM
(SELECT * FROM `".$this->table_name."` ORDER BY `date` DESC $l) a
ORDER BY `$sort` $desc";
С видеокурса Михаила Русакова
+2
var date_match=time.split('.');
date_match=new Date(
date_match[1]+'-'+date_match[0]+'-'+/[\w\W]+(\d{4,4})\/(\d{4,4})[\w\W]+/.exec(document.title)[(date_match[1]>6)?1:2]//Gangsta
);
+2
if(file_exists('./daemon.php') & isset($_GET['stop'])){
rename('./daemon.php', './daemon.php~');
sleep(3);
header('Location: http://'.$_SERVER[HTTP_HOST]);
}elseif(isset($_GET['restart'])){
include('./lib.inc');
@rename('./daemon.php', './daemon.php~');
sleep(3);
rename('./daemon.php~', './daemon.php');
ping('daemon.php');
sleep(3);
header('Location: http://'.$_SERVER[HTTP_HOST]);
}
echo '<a href="/?restart" class="button">Start/Restart</a> ';
if(file_exists('./daemon.php'))
echo '<a href="/?stop" class="button">Stop</a>';
?><br>
<div class="display">-</div>
<script type="text/javascript"><!--
var xd;
setInterval(function(){
xd&&xd.abort();
xd = new XMLHttpRequest();
xd.onreadystatechange = function(){
if(xd.readyState == 4){
document.querySelector(".display").textContent = xd.responseText;
}
}
xd.open('GET', '/display.txt', true);
xd.send();
}, 3000);
//--></script>
daemon.php:
if(date('his')-file_get_contents('./date')<2)
exit;
file_put_contents('./date', date('his'));
include('./lib.inc');
$f=fopen('./lock', 'w+');
flock($f, LOCK_EX);
ping('core.php');
sleep(3);
ping('daemon.php');
usleep(200);
ping('daemon.php');
usleep(200);
flock($f, LOCK_UN);
core.php:
ini_set('display_errors', 'on');
error_reporting(E_ALL);
ini_set('html_errors', 'off');
$xreservedbasedir=__DIR__;
$xreservedtmpbuf=str_repeat('x', 1024 * 3);
function ob_write($buffer){
unset($GLOBALS['xreservedtmpbuf']);
file_put_contents($GLOBALS['xreservedbasedir'].'/display.txt', $buffer, LOCK_EX);
}
ob_start('ob_write');
include('./script.php');
script.php:
echo date("Y.m.d h:i:s"); //любой код, который исполняет демон
lib.inc:
function ping($action){
$h=$_SERVER[HTTP_HOST];
$http=fsockopen($h, 80, $e1, $e2, 1);
if($http){
fwrite($http,
'GET /'.$action.' HTTP/1.1'."\r\n".
'Accept: */*'."\r\n".
'Host: '.$h."\r\n\r\n"
);
fclose($http);
}
}
демон на php? Легко!
+2
#include <memory>
#include <list>
struct ListNode;
using List = std::unique_ptr<const ListNode>;
struct ListNode {
const int data;
const List next;
~ListNode()
{
if(!next)
return;
else {
std::list<ListNode*> nodes;
for(auto pn = next.get(); pn->next; pn = pn->next.get()) {
nodes.push_back(const_cast<ListNode*>(pn));
}
for(decltype(nodes)::reverse_iterator in = nodes.rbegin(); in != nodes.rend(); ++in) {
const_cast<List&>((*in)->next).reset();
}
}
}
};
List Cons(int head, List tail)
{
return List(new ListNode{head, std::move(tail)});
}
List Nil()
{
return List();
}
size_t len(const List & self)
{
if (!self) {
return 0;
}
return 1 + len(self->next);
}
#include <iostream>
void test(size_t n)
{
auto p = Nil();
for (size_t i = 0; i < n; ++i) {
auto x = std::move(p);
p = Cons(1, std::move(x));
}
std::cout << "done: " << std::endl;
}
int main()
{
test(131028);
}
односвязный список против джависта
источник: https://www.linux.org.ru/forum/development/11752940?cid=11755489
+2
function coolSplit(str, pattern) {
var result = [];
while(1){
var m = str.match(pattern);
if(!m) {
if(str) result.push(str);
return result;
}
if(m.index) result.push(str.substr(0, m.index));
result.push(str.substr(m.index, m[0].length));
str = str.substr(m.index + m[0].length);
}
}
Из шифроскрипта. https://github.com/1024--/govnokod.ru-userscripts/commit/898e6195b9799853b08a01834ce55f8d780757f3#diff-40cd32e1559d395399816968845cb034R151
coolSplit(str, /expr/) ≡ str.split(/(expr)/) // Говнокод обучающий