我的.net项目中有一个要求,我需要从集合中选择一个项目,每个项目都有一个权重(整数从1到10)分配给它.我需要一个随机生成器来考虑这个权重,即权重越高,选择对象的机会就越多.虽然算法描述也很好,但是.net中的任何代码示例都很受欢迎.
编辑:快速复制/粘贴C#代码,以防有人偶然发现.
class RandomWeightedSelector<T>
{
private List<T> items = new List<T>();
public void Add(T item, uint weight = 1)
{
for (int i = 0; i < weight; i++)
items.Add(item);
}
public T GetRandom()
{
return items[new Random().Next(0, items.Count)];
}
}
Run Code Online (Sandbox Code Playgroud) 这个程序增加了两个矩阵,但它给出了太多错误,我无法解决它们.
错误:
阵列边界丢失
和
表达式语法
有任何想法吗?
#include<stdio.h>
#include<conio.h>
#define ROW=3
#define COL=3
int result[][COL];
void input(int arr[][COL]);
void add(int mat1[][COL],mat2[][COL]);
void print(int result[][COL]);
void main(void)
{
int mat1[ROW][COL],mat2[ROW][COL];
input(mat1);
input(mat2);
add(mat1,mat2);
print(result);
getch();
}
void input(int arr[][COL]);
{
for(int i=0;i<row;i++)
for(int j=0;j<col;j++)
{
printf("Enter element");
scanf("%d",&arr[i][j]);
}
}
void add(int mat1[][COL],int mat2[][COL])
{
for(int i=0;i<row;i++)
for(int j=0;j<col;j++)
{
result[i][j]=mat1[i][j]+mat2[i][j];
}
}
void print(int result[][COL])
{
for(int i=0;i<row;i++)
for(int j=0;j<col;j++)
printf("%d",result[i][j]);
}
Run Code Online (Sandbox Code Playgroud) 我有一个这样的简单表格:
+------------+---------+-----------+--------------+
| comment_id | post_id | parent_id | comment_text |
+------------+---------+-----------+--------------+
| 1 | 200 | 0 | a |
| 2 | 200 | 0 | b |
| 3 | 200 | 1 | c |
| 4 | 200 | 1 | d |
| 5 | 200 | 0 | e |
| 6 | 200 | 2 | f |
| 7 | 200 | 2 | g |
| 8 | 200 | …Run Code Online (Sandbox Code Playgroud) 关于控制(IoC)的反转是如何工作的,我有点困惑Spring.
假设我有一个名为的UserServiceImpl实现UserService接口的服务类.
怎么会这样@Autowired?
而在我Controllers,我怎么会instantiate在instance这个服务的?
我会做以下吗?
UserService userService = new UserServiceImpl();
Run Code Online (Sandbox Code Playgroud) 这很好用:
#include <iostream>
#include <map>
using namespace std;
struct Bar
{
int i;
int f;
};
int main()
{
map<int, Bar> m;
Bar b;
b.i = 1;
b.f = 2;
m[0] = b;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我想让它更简洁,我会得到错误:
int main()
{
map<int, Bar> m;
m[0] = {1, 2};
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让结构初始化语法有效?我做错了,还是禁止地图?
我知道这可能是一个非常简单的修复.我需要为这个函数使用2个变量,并且当前代码只会触发第一个变量.变量必须用于相关功能.
var a = $(h1), b = $(h2);
$(a, b).hover(function(){
...stuff happens here
});
Run Code Online (Sandbox Code Playgroud)
请不要建议类似下面的场景.变量需要使用.
$('h1, h2').hover(function(){...});
Run Code Online (Sandbox Code Playgroud) 我想验证特定文本的文本框,它不能为空.但是正则表达式验证器不验证文本框是否为BLANK.但是,它验证我是否在文本框中键入内容.
即使文本框为空,如何使正则表达式触发?
我应该同时使用Required Validator + Regex Validator吗?谢谢.
<asp:TextBox ID="txtcard" runat="server" MaxLength="16"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server"
ControlToValidate="txtcard" ErrorMessage="Please type credit card no"
ValidationExpression="^\d{16}$"></asp:RegularExpressionValidator>
Run Code Online (Sandbox Code Playgroud) regex asp.net validation fluentvalidation fluentvalidation-2.0
我正在寻找一种自动方法来检测我的代码中违反Swing的单线程策略.我正在寻找一些类似AOP代码的内容,当你在swing应用程序运行时你将它放入虚拟机中并让它记录在EDT之外修改swing组件的任何地方.
我不是AOP人,但我想在每个java.swing.*类周围创建一个AOP代理
AOP_before(Method m, Object args[]) {
if (!isEventDispatchThread(Thread.currentThread()) {
logStack(new RuntimeException("violation!"));
}
invoke(m, args);
}
Run Code Online (Sandbox Code Playgroud)
有人知道这样做的项目或实用程序吗?
我想从localizable.strings文件中读取文本.我正在从几个目录中收集用于翻译的字符串,并将文件放在一个.strings文件中.但后来我有几个相同翻译字符串的副本.我想以编程方式删除它.所以我需要从.strings文件中读取字符串(而不是注释),然后 - 然后对它们进行排序, - 删除重复的字符串,然后创建一个新的.strings文件.
是否可以读取字符串文件并将字符串和翻译后的值保存在字典中.我的意思是任何读取.text文件的内置方法,只有"key"="value"部分,避免使用/*...*/或#views部分.喜欢阅读配置文件.
考虑计算结构上不同的二叉搜索树的数量的问题:
给定N,找到包含值1 ... N的结构上不同的二叉搜索树的数量
给出一个解决这个问题的算法很容易:修复根中的每个可能的数字,然后递归地解决左右子树的问题:
countBST(numKeys)
if numKeys <= 1
return 1
else
result = 0
for i = 1 .. numKeys
leftBST = countBST(i - 1)
rightBST = countBST(numKeys - i)
result += leftBST * rightBST
return result
Run Code Online (Sandbox Code Playgroud)
我最近熟悉了treaps,我给自己提出了以下问题:
给定N,找到包含值1 ... N的不同treap的数量,优先级为1 .. N.如果它们在相对于密钥或优先级的结构上不同,则两个treap是不同的(请继续阅读以进行说明).
我一直试图找出一个可以解决这个问题的公式或算法,但我还没有成功.这是我注意到的:
n = 2,并n = 3似乎是2和6,基于我在纸上画树木.我认为困难的部分是考虑到在不改变结构的情况下置换优先级的可能性.例如,考虑这个treap,其中节点表示为(key, priority)对:
(3, 5)
/ \
(2, 3) (4, 4)
/ \
(1, 1) …Run Code Online (Sandbox Code Playgroud)