DG

Dave Green

IT Director at Softwise

Dave Green has over 25 years of professional experience in the IT field. Dave began their career in 1993 as Director of Technical Services at Vinca. Dave then moved on to Softwise in 2008, where they held the role of IT Director. In 2018, Dave joined KNS as Director of IT.

#include <iostream>

#include <vector>

#include <string>

#include <algorithm>

#include <unordered_set>

#include <unordered_map>

#include <utility>

using namespace std;

class Solution {

public:

vector<vector<string>> findLadders(string beginWord, string endWord, vector<string>& wordList) {

vector<vector<string>> res;

if (wordList.empty()) return res;

unordered_set<string> dict(wordList.begin(), wordList.end());

if (dict.find(endWord) == dict.end()) return res;

unordered_map<string, vector<string>> graph;

unordered_map<string, int> dist;

bfs(beginWord, endWord, dict, graph, dist);

vector<string> path;

dfs(beginWord, endWord, graph, dist, path, res);

return res;

}

private:

void bfs(string beginWord, string endWord, unordered_set<string>& dict, unordered_map<string, vector<string>>& graph, unordered_map<string, int>& dist) {

queue<string> q;

q.push(beginWord);

dist[beginWord] = 0;

while (!q.empty()) {

string cur = q.front();

q.pop();

vector<string> nexts = getNexts(cur, dict);

for (string next : nexts) {

graph[cur].push_back(next);

if (dist.find(next) == dist.end()) {

dist[next] = dist[cur] + 1;

q.push(next);

}

}

}

}

vector<string> getNexts(string cur, unordered_set<string>& dict) {

vector<string> res;

for (int i = 0; i < cur.size(); i++) {

char c = cur[i];

for (char j = 'a

Location

Pleasant Grove, United States

Links


Org chart

No direct reports

Teams

This person is not in any teams


Offices

This person is not in any offices


Softwise

Softwise is the leader in financial services software solutions for small, medium and large organizations.