小编Enc*_*her的帖子

在 github-pages 上的博客文章中添加评论

我使用Jekyll Theme制作了一个基于 Github 页面的网站。目前,我也可以在该网站上发布博客。但是,我想在博客文章的末尾添加一个评论部分。

有关于如何使用Disqus添加评论部分的教程。但我认为使用 Disqus 需要付费订阅。所以我正在寻找 Disqus 的替代品来添加评论部分。

分享任何关于它的想法将不胜感激。

github vs-web-site-project disqus jekyll jekyll-theme

15
推荐指数
2
解决办法
6169
查看次数

从java中的数组中找出n个缺少的元素

我有一个带有一些整数的数组.说numbers={3,0,1}或者说numbers={9,6,4,2,3,5,7,0,1}.现在我必须找出数组中缺少的数字.根据这个例子,每组中只有一个缺失的数字.第1个错过2个,第2个错过8个.

我已经编码了.我的代码不仅从指定的集合中找出一个缺失的数字,它还可以从给定的集合中找出超过1个缺失的数字.

但如果同一组中缺少两个连续的数字,则无法找到.

My code
import java.util.Arrays;

public class Missing_number 
{
    public static void main( String args[] )
    {
        int numbers[]={9,6,4,5,7,0,1};
        Arrays.sort(numbers);
        int i=1;

        while ( i < numbers.length ) 
        {
            if ( numbers[i] - numbers[i-1] == 1 ) 
            {
            } 
            else 
            {
                System.out.println( "Missing number is " + ( numbers[i-1] + 1 ) );
            }
            i++;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想是这样的,如果我能够在数组中追加第一个缺失的数字,然后开始搜索那么代码是什么样的?numbers={9,6,4,5,7,0,1}现在,这套已经缺少8个.现在我已从列表中终止了另外两个元素(2,3).输出:根据我的代码:2,8但是3也缺少但不显示.

我想,如果我能够在数字数组中追加2,那么它可能会更容易一些.但是我们都知道Java数组是不可变的,所以我们不能增加它的长度.

所以,也许我会使用List.但是在列表中number[0]=something不支持这种类型的索引.那么我怎么能继续呢.我使用列表还是仍然插入阵列?

所以我尝试用arraylist创建它.

Mycode(modified version from …
Run Code Online (Sandbox Code Playgroud)

java arrays algorithm arraylist

11
推荐指数
3
解决办法
3278
查看次数

在C ++中对std :: get_money和s​​td :: put_money的困惑

我对头文件中std::get_money定义的C ++函数感到困惑<iomanip>get_money按编程概念的用途是什么?

我使用以下代码std::get_money

#include <iostream>     // std::cin, std::cout
#include <iomanip>      // std::get_money

int main ()
{
  long double price;
  std::cout << "Please, enter the price: ";
  std::cin >> std::get_money(price);

  if (std::cin.fail()) std::cout << "Error reading price\n";
  else std::cout << "The price entered is: " << price << '\n';

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我输入100.25时,它返回100。输出和货币格式之间是什么关系?我阅读了参考资料,但无法理解这种关系。同样的困惑存在与std::put_moneystd::get_time,和std::put_time

实际使用的例子有哪些?

c++ iomanip

6
推荐指数
1
解决办法
238
查看次数

在java中不使用乘法,除法和mod运算符将两个整数相除

我写了一个代码,它在两个数相除后找出商,但不使用乘法、除法或 mod 运算符。

我的代码

public int divide(int dividend, int divisor) {

    int diff=0,count=0;
    int fun_dividend=dividend;
    int fun_divisor=divisor;
    int abs_dividend=abs(dividend);
    int abs_divisor=abs(divisor);

    while(abs_dividend>=abs_divisor){
        diff=abs_dividend-abs_divisor;

        abs_dividend=diff;
        count++;

    }

    if(fun_dividend<0 && fun_divisor<0){
        return count;
    }
    else if(fun_divisor<0||fun_dividend<0) {
        return (-count);
    }

    return count;

}
Run Code Online (Sandbox Code Playgroud)

我的代码通过了像股息=-1、除数=1 或除数=1 和除数=-1 之类的测试用例。但是它不能通过像dividend = --2147483648和divisor =-1这样的测试用例。但是,当两个输入都为负时,我有一个 if 语句。

  if(fun_dividend<0 && fun_divisor<0){
        return count;
    }
Run Code Online (Sandbox Code Playgroud)

当我的输入是 -2147483648 和 -1 时,它返回零。我调试了我的代码,发现它无法到达while循环的内部语句。它只是检查while循环并终止并执行

 if(fun_dividend<0 && fun_divisor<0){
        return count;
    }
Run Code Online (Sandbox Code Playgroud)

很明显,两个输入都是负数,所以我使用Math.abs函数使它们成为正数。但是当我尝试查看变量 abs_dividend 和 abs_divisor 的值时,它们显示负值。

整数最大值可以是 9 位数字。那么我怎么能通过这个测试用例呢?根据此测试用例,股息是一个 10 位数字,对于整数范围无效。

根据测试用例,我得到的输出应该是 …

java if-statement function while-loop mod

3
推荐指数
1
解决办法
5078
查看次数

反转 R 中的数字

我在 R 中编写了一个代码来反转一个数字。但我得到了inf作为输出。

digit<-512
rev_num<-0
while(digit>0){
  rev_num=rev_num*10 + digit %% 10
 digit=digit / 10
}
print(paste(rev_num))
Run Code Online (Sandbox Code Playgroud)

谁能告诉我这段代码中的错误?

r while-loop

3
推荐指数
2
解决办法
295
查看次数

硬币更改 - Java无法通过示例3

问题:您将获得不同面额的金币和总金额.编写一个函数来计算构成该数量所需的最少数量的硬币.如果这笔钱不能由任何硬币组合弥补,则返回-1.

例1:

输入:coins = [1,2,5],金额= 11输出:3说明:11 = 5 + 5 + 1

例2:

输入:coins = 2,金额= 3输出:-1

You may assume that you have an infinite number of each kind of coin.

我的代码:

public int coinChange(int[] coins, int amount) {
    Arrays.sort(coins);
    int new_amount=amount;
    int count_coin=0;
    int q=0,r=0,a=0;
    int k=coins.length-1;


    while(amount>0 && k>=0) {

            q = new_amount / coins[k];
            count_coin = count_coin + q;
            r = new_amount % coins[k];
            new_amount=r;
            a+=q*coins[k];
            k--;



    }


    if(a==amount){
        return count_coin;
    }
    else{
        return -1;
    } …
Run Code Online (Sandbox Code Playgroud)

java algorithm dynamic-programming brute-force while-loop

0
推荐指数
1
解决办法
103
查看次数

如何从Hashmap中删除重复的键

我有一份清单.列表中有一个列表. [[-1, 0, 1], [-1, 2, -1], [0, 1, -1]],此列表的名称说明结果.结果列表包含重复的元素作为列表.[-1,0,1][0,1,-1]他们相同.我想创建一个不包含重复项的列表.所以列表结果变成[[-1,0,1],[-1,2,-1]][[-1,2,-1],[0,1,-1]].

我读到Hashmap不能存储重复的键但允许重复的值.所以为了删除重复,我正在尝试Hashmap.

但是在编写代码后运行良好没有错误.

HashMap<List<Integer>,Integer> final_sol=new HashMap<>();
for(int k1=0;k1<result.size();k1++){
       final_sol.put(result.get(k1),k1);
    }
    System.out.println(final_sol);
Run Code Online (Sandbox Code Playgroud)

输出:

{[-1, 2, -1]=1, [0, 1, -1]=2, [-1, 0, 1]=0}
Run Code Online (Sandbox Code Playgroud)

编写完这些代码块后,我认为我的重复键只能显示唯一键.

然后我怎么能使用哈希地图使这个列表独一无二?不明白

当我使用树形图时,它不会编译并给出了错误.

java hashmap duplicates

0
推荐指数
1
解决办法
123
查看次数