在Python中,我正在实现用于解决Tile问题的A*搜索算法.我有以下Node类,它将状态保存为元组的元组.例如,初始状态是:
initial= ((7,2,4),(5,0,6),(8,3,1));#empty tile is marked with value 0
Run Code Online (Sandbox Code Playgroud)
下面是Node类,
class Node:
def __init__(self, state, parent=None, action=None, pathCost=0, emptyTileI=1,emptyTileJ=1):
self.state = state
self.parent = parent
self.action = action
self.pathCost = pathCost
self.emptyTileI=emptyTileI;#row index of empty tile
self.emptyTileJ=emptyTileJ;#column index of empty tile
def expand(self, problem):
children=[];#empty list of children nodes initially.
#after doing some work....
return children #a list of Node objects, one for each successor states, parent of the created nodes is self
def getState(self):
return self.state;
def getPathCost(self):
return …Run Code Online (Sandbox Code Playgroud) 在非循环图中,我试图找出两个给定节点之间是否存在长度为L的路径.我的问题是,在这种情况下使用的最佳和最简单的算法是什么.
请注意,该图最多包含50个节点和100个边.
我试图使用DFS找到所有路径,然后检查两个节点之间是否存在该路径,但我从在线判断中得到了"超出时间限制"的答案.
我还使用了统一成本搜索算法,但我也得到了否定回应.
我需要一种更有效的方法来解决这个问题.谢谢.
algorithm graph shortest-path directed-acyclic-graphs longest-path
首先是一些定义:
定义1
如果对于每对非相邻顶点u和v,则d =(V,E)被称为"密集",d(u)+ d(v)> = n其中n = | V | 和d(*)表示顶点的程度*
定义2
G上的"哈密顿循环"是一个顶点序列(vi1,vi2,...... vin,vi1),所有l!= h的vil!= vih和{vil,vil}是G的边缘.
问题是:编写一个程序,给定一个密集的无向图G =(V; E)作为输入,确定G是否允许G上的哈密顿循环并输出该循环(如果有),或输出"N"如果没有.
我的解决方案是找到从源开始的所有可能路径,并检查是否存在返回此源的路径.不幸的是,这种解决方案效率不高.
有什么建议?谢谢.
我试图在没有用户交互的情况下发送电子邮件 每件事都有效,直到发送部分.
这是我正在使用的Gmailsender类中的sendemail功能
public void sendEmail() throws MessagingException
{
Log.i("check","start");
String host = "smtp.gmail.com";
String from = "blabla@gmail.com"; //sender email, this is our website email
String pass = "blablabla"; //password of sender email
Properties props = System.getProperties();
props.put("mail.smtp.starttls.enable", "true"); // added this line
props.put("mail.smtp.host", host);
props.put("mail.smtp.user", from);
props.put("mail.smtp.password", pass);
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
Log.i("check","done pops ");
//creating session
Session session = Session.getDefaultInstance(props, null);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
Log.i("check","done sessions ");
InternetAddress toAddress;
toAddress = new InternetAddress(to);
message.addRecipient(Message.RecipientType.TO, …Run Code Online (Sandbox Code Playgroud) 这是问题所在:
在eclipse中,创建一个使用Android API的OSGI包,以显示日志消息.然后,在嵌入Felix框架的Android应用程序中安装并启动OSGI包.
迄今为止完成的工作:
1-准备Android捆绑包android,其中包含哪个导出android.util.我通过以下方式做到了这一点:File-> New-> Project-> Plugin来自现有的jar Archieves - > Next-> Add External-> android.jar,这导致了一个带有android API的OSGI包.
MANIFEST.MF:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Android
Bundle-SymbolicName: android
Bundle-Version: 1.0.0
Bundle-ClassPath: .
Export-Package: android,
android.util,
............etc
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Run Code Online (Sandbox Code Playgroud)
2-创建被调用的OSGI Bundle AndroidAPI_Bundle,它将导入android.util并显示一条日志消息.
激活类:
package androidapi_bundle;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import android.util.Log;
public class Activator implements BundleActivator {
private static BundleContext context;
static BundleContext getContext() {
return context;
}
public void start(BundleContext bundleContext) throws Exception {
Activator.context = …Run Code Online (Sandbox Code Playgroud) 有谁知道如何编写一个编程图算法(C++代码会很棒),它找到一组给定节点和循环图中边的Kth最短路径?
例如,最短路径(可由Dijkstra或Bellman Ford找到)被认为是第1条最短路径.现在第二条最短路径是第一条最短路径之后的最短路径.现在我希望算法找到第K个最短路径.您将获得节点数,边数和边集数,如下所示:
节点数:5
个边数:6个
边:
0 1
0 2
1 2
2 3
3 1
1 4
源节点:0个
目标节点:4个
"请注意,此图表包含一个循环"谢谢.
我试图通过设计高斯高通滤波器来锐化图像.我想这样做是因为高通滤波器相当于单位矩阵减去低通滤波器,所以我做了以下事情:
image= imread('Question3_Data-Cats.jpg'); % read image
H = 1 - fspecial('gaussian' ,[5 5],2); % create unsharp mask
sharpened = imfilter(image,H); % create a sharpened version of the image using that mask
imshow([image sharpened]); %showing input & output images
Run Code Online (Sandbox Code Playgroud)
我没有得到一个锐化的图像.相反,我在图像的一个小区域上得到了一些带有一些颜色的白色图像.有人可以帮忙吗?谢谢.
给定n个整数的列表,其中列表中的每个整数都存在两次,除了一个元素,它在列表中存在一次.例如,
[1 3 3 6 2 7 1 2 7]
Run Code Online (Sandbox Code Playgroud)
我需要找到一个线性时间O(n)和一个常量空间O(1)算法,它返回列表中存在一次的元素.在上面的示例中,算法应返回6.请注意,列表不是由任何特定顺序提供的.(列表中元素的顺序是随机的).
我可以使用字典在O(n)线性时间内解决这个问题但不幸的是字典需要O(n)空间.有任何想法吗?
在我的 android 代码中,我试图检测传入的 SMS 消息。下面的代码已经运行了 2 年,但现在它停止工作了。我错过了哪些更新?
public class SmsListener extends BroadcastReceiver {
private String msgBody;
private SharedPreferences preferences;
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){
Toast.makeText(context,"message received",Toast.LENGTH_SHORT).show();
Bundle bundle = intent.getExtras(); //---get the SMS message passed in---
SmsMessage[] msgs = null;
String msg_from;
if (bundle != null){
//---retrieve the SMS message received---
try{
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for(int i=0; i<msgs.length; i++){
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
msg_from = msgs[i].getOriginatingAddress(); …Run Code Online (Sandbox Code Playgroud) 我有一个名为“documents-microservice”的 Spring Boot 微服务,它在 Eureka Server 中注册。我尝试使用 URL 中的名称和 with 来访问此微服务RestTemplate,如下所示:
ResponseEntity<String> response = restTemplate.exchange("http://documents-microservice/document-name", HttpMethod.POST, entity, String.class);
Run Code Online (Sandbox Code Playgroud)
尽管我确信该服务名称在运行在端口 8761 上的 Eureka Server 上可用(见下图),但我仍然收到以下错误:
错误:
org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://documents-microservice/document-name": documents-microservice; nested exception is java.net.UnknownHostException: documents-microservice
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:674)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:621)
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:539)
at ae.gov.adm.saeed.web.controller.util.CircularsControllerUtil.circularListView(CircularsControllerUtil.java:196)
at ae.gov.adm.saeed.web.controller.CircularsController.viewCircularList(CircularsController.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) …Run Code Online (Sandbox Code Playgroud) algorithm ×3
android ×3
graph ×2
android-sms ×1
apache-felix ×1
bundle ×1
c++ ×1
constants ×1
email ×1
gaussian ×1
java ×1
list ×1
logcat ×1
longest-path ×1
matlab ×1
osgi ×1
post ×1
python ×1
resttemplate ×1
search ×1
sms ×1
spring-boot ×1
tile ×1